Weitere Verbesserungen Lokalisierung.
git-svn-id: https://svn.libreccm.org/ccm/trunk@2232 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
c62dd99a86
commit
d57a954009
|
|
@ -9,34 +9,36 @@
|
|||
classname="com.arsdigita.cms.contenttypes.DecisionTree">
|
||||
|
||||
<ctd:authoring-kit createComponent="com.arsdigita.cms.ui.authoring.PageCreate">
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="cms.contenttypes.shared.basic_properties.title"
|
||||
labelBundle="com.arsdigita.cms.ui.CMSResources"
|
||||
labelBundle="com.arsdigita.cms.CMSResources"
|
||||
descriptionKey="cms.contenttypes.shared.basic_properties.description"
|
||||
descriptionBundle="com.arsdigita.cms.ui.CMSResources"
|
||||
descriptionBundle="com.arsdigita.cms.CMSResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.DecisionTreePropertiesStep"/>
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="tree_sections.title"
|
||||
labelKey="cms.contenttypes.ui.authoring.decisiontree.tree_sections.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.DecisionTreeResources"
|
||||
descriptionKey="tree_sections.description"
|
||||
descriptionKey="cms.contenttypes.ui.authoring.decisiontree.tree_sections.description"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.DecisionTreeResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.DecisionTreeViewSections"/>
|
||||
component="com.arsdigita.cms.contenttypes.ui.DecisionTreeSectionStep"/>
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="section_options.title"
|
||||
labelKey="cms.contenttypes.ui.authoring.decisiontree.section_options.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.DecisionTreeResources"
|
||||
descriptionKey="section_options.description"
|
||||
descriptionKey="cms.contenttypes.ui.authoring.decisiontree.section_options.description"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.DecisionTreeResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.DecisionTreeViewOptions"/>
|
||||
component="com.arsdigita.cms.contenttypes.ui.DecisionTreeOptionStep"/>
|
||||
|
||||
<ctd:authoring-step
|
||||
labelKey="option_targets.title"
|
||||
labelKey="cms.contenttypes.ui.authoring.decisiontree.option_targets.title"
|
||||
labelBundle="com.arsdigita.cms.contenttypes.DecisionTreeResources"
|
||||
descriptionKey="option_targets.description"
|
||||
descriptionKey="cms.contenttypes.ui.authoring.decisiontree.option_targets.description"
|
||||
descriptionBundle="com.arsdigita.cms.contenttypes.DecisionTreeResources"
|
||||
component="com.arsdigita.cms.contenttypes.ui.DecisionTreeViewTargets" />
|
||||
component="com.arsdigita.cms.contenttypes.ui.DecisionTreeTargetStep" />
|
||||
<ctd:include href="/WEB-INF/content-types/assign-categories-step.xml"/>
|
||||
|
||||
</ctd:authoring-kit>
|
||||
</ctd:content-type>
|
||||
</ctd:content-types>
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ public class DecisionTree extends ContentPage implements XMLGenerator {
|
|||
* @return the base PDL object type for this item. Child classes
|
||||
* should override this method to return the correct value.
|
||||
*/
|
||||
@Override
|
||||
public String getBaseDataObjectType() {
|
||||
return BASE_DATA_OBJECT_TYPE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ public class DecisionTreeOptionTarget extends ContentItem {
|
|||
* @return the base PDL object type for this item. Child classes
|
||||
* should override this method to return the correct value.
|
||||
*/
|
||||
@Override
|
||||
public String getBaseDataObjectType() {
|
||||
return BASE_DATA_OBJECT_TYPE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,44 +1,77 @@
|
|||
error.parameter_name_characters=This parameter can only contain letters, digits, or "-_"
|
||||
form.none=-- none --
|
||||
form.please_select=-- please select --
|
||||
form_label.cancel_url=Cancel URL
|
||||
form_label.description=Description
|
||||
form_label.instructions=Instructions
|
||||
form_label.label=Label
|
||||
form_label.match_value=Value to Match
|
||||
form_label.parameter_name=Parameter Name
|
||||
form_label.section=Section
|
||||
form_label.target_section=Target Section
|
||||
form_label.target_url=Target URL
|
||||
form_label.title=Title
|
||||
form_label.value=Value
|
||||
form_validation.target_required=Either a target URL or a target section is required.
|
||||
form_validation.duplicate_target=Please enter a target URL or a target section, but not both.
|
||||
properties.cancel_url=Cancel URL:
|
||||
section_options.add_new_option=Add new option
|
||||
section_options.add_option=Add Option
|
||||
section_options.delete_option=Delete option
|
||||
section_options.description=The options that belong to this decision tree's sections.
|
||||
section_options.edit_option=Edit Option
|
||||
section_options.move_option_name=Move option
|
||||
section_options.move_to_beginning=Move to beginning
|
||||
section_options.no_options_yet=No options yet
|
||||
section_options.title=Section Options
|
||||
section_options.view_all_options=View all options
|
||||
option_targets.add_new_target=Add new target
|
||||
option_targets.add_target=Add Target
|
||||
option_targets.delete_target=Delete target
|
||||
option_targets.description=The targets that belong to this decision treeS.
|
||||
option_targets.edit_target=Edit Target
|
||||
option_targets.no_targets_yet=No targets yet
|
||||
option_targets.title=Option Targets
|
||||
option_targets.view_all_targets=View all targets
|
||||
tree_section.submission_cancelled=Submission cancelled
|
||||
tree_sections.add_new_section=Add new section
|
||||
tree_sections.add_section=Add Section
|
||||
tree_sections.delete_section=Delete section
|
||||
tree_sections.description=The sections that belong to this decision tree.
|
||||
tree_sections.edit_section=Edit Section
|
||||
tree_sections.no_sections_yet=No sections yet
|
||||
tree_sections.title=Tree Sections
|
||||
tree_sections.view_all_sections=View all sections
|
||||
cms.contenttypes.ui.decisiontree.error.parameter_name_characters=This parameter can only contain letters, digits, or "-_"
|
||||
cms.contenttypes.ui.decisiontree.targets.form.none=-- none --
|
||||
cms.contenttypes.ui.decisiontree.options.form.please_select=-- please select a section for this option--
|
||||
cms.contenttypes.ui.decisiontree.properties.form.description_label=Description
|
||||
cms.contenttypes.ui.decisiontree.sections.form.instructions_label=Instructions
|
||||
cms.contenttypes.ui.decisiontree.options.form.label=Label
|
||||
cms.contenttypes.ui.decisiontree.targets.form.match_value=Value to Match
|
||||
cms.contenttypes.ui.decisiontree.sections.form.parameter_name_label=Parameter Name
|
||||
cms.contenttypes.ui.decisiontree.options.form.section=Section
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_section_label=Target Section
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_url_label=Target URL
|
||||
cms.contenttypes.ui.decisiontree.sections.form.title_label=Title
|
||||
cms.contenttypes.ui.decisiontree.options.form.value=Value
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_required=Either a target URL or a target section is required.
|
||||
cms.contenttypes.ui.decisiontree.targets.form.duplicate_target=Please enter a target URL or a target section, but not both.
|
||||
cms.contenttypes.ui.decisiontree.properties.cancel_url=Cancel URL after user abort:
|
||||
cms.contenttypes.ui.decisiontree.options.add_new=Add new option
|
||||
cms.contenttypes.ui.decisiontree.options.add=Add Option
|
||||
cms.contenttypes.ui.decisiontree.options.delete=Delete option
|
||||
cms.contenttypes.ui.authoring.decisiontree.section_options.description=The options that belong to this decision tree's sections.
|
||||
cms.contenttypes.ui.decisiontree.options.edit=Edit Option
|
||||
cms.contenttypes.ui.decisiontree.options.table.move_option_name=Move option {0}
|
||||
cms.contenttypes.ui.decisiontree.options.table.move_to_beginning=Move to beginning
|
||||
cms.contenttypes.ui.decisiontree.options.none_yet=No options yet
|
||||
cms.contenttypes.ui.authoring.decisiontree.section_options.title=Decision Options
|
||||
cms.contenttypes.ui.decisiontree.options.view_all=View all options
|
||||
cms.contenttypes.ui.decisiontree.targets.add_new=Add new target
|
||||
cms.contenttypes.ui.decisiontree.targets.add=Add Target
|
||||
cms.contenttypes.ui.decisiontree.targets.delete=Delete target
|
||||
cms.contenttypes.ui.authoring.decisiontree.option_targets.description=The targets that belong to this decision treeS.
|
||||
cms.contenttypes.ui.decisiontree.targets.edit=Edit Target
|
||||
cms.contenttypes.ui.decisiontree.targets.none_yet=No targets yet
|
||||
cms.contenttypes.ui.authoring.decisiontree.option_targets.title=Decision Option Targets
|
||||
cms.contenttypes.ui.decisiontree.targets.view_all=View all targets
|
||||
cms.contenttypes.ui.decisiontree.options.form.submission_cancelled=Opion submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.sections.add_new_label=Add new section
|
||||
cms.contenttypes.ui.decisiontree.sections.add=Add Section
|
||||
cms.contenttypes.ui.decisiontree.sections.delete=Delete section
|
||||
cms.contenttypes.ui.authoring.decisiontree.tree_sections.description=The sections that belong to this decision tree.
|
||||
cms.contenttypes.ui.decisiontree.sections.edit=Edit Section
|
||||
cms.contenttypes.ui.decisiontree.sections.no_sections_yet=No sections yet
|
||||
cms.contenttypes.ui.authoring.decisiontree.tree_sections.title=Decision Sections
|
||||
cms.contenttypes.ui.decisiontree.sections.view_all=View all sections
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_section=Decision Section
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_edit=Edit
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_delete=Delete
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_first_section=First Section?
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_delete=delete
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_edit=edit
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_set_first=set
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_section=Decision Section
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_option=Decision Option
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_edit=Edit
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_move=Move
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_delete=Delete
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_delete=delete
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_move=move
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_edit=edit
|
||||
cms.contenttypes.ui.decisiontree.targets.form.please_select=-- please select an option for this option--
|
||||
cms.contenttypes.ui.decisiontree.targets.form.submission_cancelled=Target submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.targets.form.delete.delete_button=Delete
|
||||
cms.contenttypes.ui.decisiontree.targets.form.delete.target_match_value=Target Match Value
|
||||
cms.contenttypes.ui.decisiontree.targets.submission_cancelled=Submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.sections.form.submission_cancelled=Submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_move_below=move below
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_no_move=leave it here
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_section=Decision Section
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_match=Decision Option
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_edit=Edit
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_delete=Delete
|
||||
cms.contenttypes.ui.decisiontree.targets.table.link_edit=edit
|
||||
cms.contenttypes.ui.decisiontree.targets.table.link_delete=delete
|
||||
cms.contenttypes.ui.decisiontree.sections.delete_button=Delete
|
||||
cms.contenttypes.ui.decisiontree.sections.delete_section_msg=Section to be deleted: "{0}"
|
||||
cms.contenttypes.ui.decisiontree.options.delete_option_msg=Option to be deleted: "{0}"
|
||||
cms.contenttypes.ui.decisiontree.options.delete_button=Delete
|
||||
cms.contenttypes.ui.decisiontree.options.delete.submission_cancelled=Option Delete submission cancelled
|
||||
|
|
|
|||
|
|
@ -1,44 +1,77 @@
|
|||
error.parameter_name_characters=Dieser Parameter lann nur Buchstaben, Zahlen oder "-_" enthalten.
|
||||
form.none=-- keine --
|
||||
form.please_select=-- bitte ausw\u00e4hlen --
|
||||
form_label.cancel_url=URL Abrechen
|
||||
form_label.description=Beschreibung
|
||||
form_label.instructions=Anweisungen
|
||||
form_label.label=Benennung
|
||||
form_label.match_value=Korrespondierender Wert
|
||||
form_label.parameter_name=Parameter Name
|
||||
form_label.section=Sektion
|
||||
form_label.target_section=Zielsektion
|
||||
form_label.target_url=Ziel-URL
|
||||
form_label.title=Titel
|
||||
form_label.value=Wert
|
||||
form_validation.target_required=Entweder eine Ziel-URL oder eine Ziel-Sektion isr erforderlich.
|
||||
form_validation.duplicate_target=Bitte eine Ziel-URL oder eine Ziel-Sektion angeben, aber nicht beides.
|
||||
properties.cancel_url=URL Abbrechen:
|
||||
section_options.add_new_option=Eine neue Option hinzuf\u00fcgen
|
||||
section_options.add_option=Option hinzuf\u00fcgen
|
||||
section_options.delete_option=Option l\u00f6schen
|
||||
section_options.description=Optionen, die zu dieser Sektion geh\u00f6ren.
|
||||
section_options.edit_option=Option bearbeiten
|
||||
section_options.move_option_name=Option verschieben
|
||||
section_options.move_to_beginning=An den Anfang verschieben
|
||||
section_options.no_options_yet=Bisher keine Optionen eingetragen.
|
||||
section_options.title=Optionen in der Sektion
|
||||
section_options.view_all_options=Alle Optionen anzeigen
|
||||
option_targets.add_new_target=Ein neues Ziel hinzuf\u00fcgen
|
||||
option_targets.add_target=Ziel hinzuf\u00fcgen
|
||||
option_targets.delete_target=Ziel l\u00f6schen
|
||||
option_targets.description=Ziele, die zu dieser Sektion geh\u00f6ren.
|
||||
option_targets.edit_target=Ziel bearbeiten
|
||||
option_targets.no_targets_yet=Bisher keine Ziele verf\u00fcgbar.
|
||||
option_targets.title=Option Targets
|
||||
option_targets.view_all_targets=Alle Ziele anzeigen
|
||||
tree_section.submission_cancelled=Speichern abgebrochen
|
||||
tree_sections.add_new_section=Eine neue Sektion hinzuf\u00fcgen
|
||||
tree_sections.add_section=Sektion hinzuf\u00fcgen
|
||||
tree_sections.delete_section=Sektion l\u00f6schen
|
||||
tree_sections.description=Die Sektionen, die zu diesem Entscheidungsbaum geh\u00f6ren.
|
||||
tree_sections.edit_section=Sektion bearbeiten
|
||||
tree_sections.no_sections_yet=Bisher keine Sektionen verf\u00fcgbar.
|
||||
tree_sections.title=Sektionen
|
||||
tree_sections.view_all_sections=Alle Sektionen anzeigen
|
||||
cms.contenttypes.ui.decisiontree.error.parameter_name_characters=Dieser Parameter kann nur Buchstaben, Zahlen oder "-_" enthalten.
|
||||
cms.contenttypes.ui.decisiontree.targets.form.none=-- keine --
|
||||
cms.contenttypes.ui.decisiontree.options.form.please_select=-- bitte zugeh\u00f6rige Sektion ausw\u00e4hlen --
|
||||
cms.contenttypes.ui.decisiontree.properties.form.description_label=Beschreibung
|
||||
cms.contenttypes.ui.decisiontree.sections.form.instructions_label=Anweisungen
|
||||
cms.contenttypes.ui.decisiontree.options.form.label=Benennung
|
||||
cms.contenttypes.ui.decisiontree.targets.form.match_value=Korrespondierender Wert
|
||||
cms.contenttypes.ui.decisiontree.sections.form.parameter_name_label=Parameter Name
|
||||
cms.contenttypes.ui.decisiontree.options.form.section=Sektion
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_section_label=Zielsektion
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_url_label=Ziel-URL
|
||||
cms.contenttypes.ui.decisiontree.sections.form.title_label=Titel
|
||||
cms.contenttypes.ui.decisiontree.options.form.value=Wert
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_required=Entweder eine Ziel-URL oder eine Ziel-Sektion isr erforderlich.
|
||||
cms.contenttypes.ui.decisiontree.targets.form.duplicate_target=Bitte eine Ziel-URL oder eine Ziel-Sektion angeben, aber nicht beides.
|
||||
cms.contenttypes.ui.decisiontree.properties.cancel_url=URL nach Benutzer Abbruch:
|
||||
cms.contenttypes.ui.decisiontree.options.add_new=Eine neue Option hinzuf\u00fcgen
|
||||
cms.contenttypes.ui.decisiontree.options.add=Option hinzuf\u00fcgen
|
||||
cms.contenttypes.ui.decisiontree.options.delete=Option l\u00f6schen
|
||||
cms.contenttypes.ui.authoring.decisiontree.section_options.description=Optionen, die zu dieser Sektion geh\u00f6ren.
|
||||
cms.contenttypes.ui.decisiontree.options.edit=Option bearbeiten
|
||||
cms.contenttypes.ui.decisiontree.options.table.move_option_name=Option verschieben {0}
|
||||
cms.contenttypes.ui.decisiontree.options.table.move_to_beginning=An den Anfang verschieben
|
||||
cms.contenttypes.ui.decisiontree.options.none_yet=Bisher keine Optionen eingetragen.
|
||||
cms.contenttypes.ui.authoring.decisiontree.section_options.title=Entscheidungsoptionen
|
||||
cms.contenttypes.ui.decisiontree.options.view_all=Alle Optionen anzeigen
|
||||
cms.contenttypes.ui.decisiontree.targets.add_new=Ein neues Ziel hinzuf\u00fcgen
|
||||
cms.contenttypes.ui.decisiontree.targets.add=Ziel hinzuf\u00fcgen
|
||||
cms.contenttypes.ui.decisiontree.targets.delete=Ziel l\u00f6schen
|
||||
cms.contenttypes.ui.authoring.decisiontree.option_targets.description=Ziele, die zu dieser Sektion geh\u00f6ren.
|
||||
cms.contenttypes.ui.decisiontree.targets.edit=Ziel bearbeiten
|
||||
cms.contenttypes.ui.decisiontree.targets.none_yet=Bisher keine Ziele verf\u00fcgbar.
|
||||
cms.contenttypes.ui.authoring.decisiontree.option_targets.title=Folgeschritte
|
||||
cms.contenttypes.ui.decisiontree.targets.view_all=Alle Ziele anzeigen
|
||||
cms.contenttypes.ui.decisiontree.options.form.submission_cancelled=Speichern der Option abgebrochen
|
||||
cms.contenttypes.ui.decisiontree.sections.add_new_label=Eine neue Sektion hinzuf\u00fcgen
|
||||
cms.contenttypes.ui.decisiontree.sections.add=Sektion hinzuf\u00fcgen
|
||||
cms.contenttypes.ui.decisiontree.sections.delete=Sektion l\u00f6schen
|
||||
cms.contenttypes.ui.authoring.decisiontree.tree_sections.description=Die Sektionen bearbeiten, die zu diesem Entscheidungsbaum geh\u00f6ren.
|
||||
cms.contenttypes.ui.decisiontree.sections.edit=Sektion bearbeiten
|
||||
cms.contenttypes.ui.decisiontree.sections.no_sections_yet=Bisher keine Sektionen verf\u00fcgbar.
|
||||
cms.contenttypes.ui.authoring.decisiontree.tree_sections.title=Entscheidungsschritte
|
||||
cms.contenttypes.ui.decisiontree.sections.view_all=Alle Sektionen anzeigen
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_section=Entscheidungsschritt
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_edit=Bearbeiten
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_delete=L\u00f6schen
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_first_section=Erste Sektion?
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_delete=l\u00f6schen
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_edit=bearbeiten
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_set_first=festlegen
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_section=Entscheidungsschritt
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_option=Entscheidungsoption
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_edit=Bearbeiten
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_move=Verschieben
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_delete=Entfernen
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_delete=entfernen
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_move=verschieben
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_edit=bearbeiten
|
||||
cms.contenttypes.ui.decisiontree.targets.form.please_select=-- bitte zugeh\u00f6rige Option ausw\u00e4hlen --
|
||||
cms.contenttypes.ui.decisiontree.targets.form.submission_cancelled=Speichern des Target abgebrochen
|
||||
cms.contenttypes.ui.decisiontree.targets.form.delete.delete_button=L\u00f6schen
|
||||
cms.contenttypes.ui.decisiontree.targets.form.delete.target_match_value=Target Match Value
|
||||
cms.contenttypes.ui.decisiontree.targets.submission_cancelled=Submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.sections.form.submission_cancelled=Submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_move_below=unterhalb dieses Eintrags verschieben
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_no_move=hier belassen
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_section=Entscheidungsschritt
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_match=Entscheidungsoption
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_edit=Bearbeiten
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_delete=Entfernen
|
||||
cms.contenttypes.ui.decisiontree.targets.table.link_edit=bearbeiten
|
||||
cms.contenttypes.ui.decisiontree.targets.table.link_delete=entfernen
|
||||
cms.contenttypes.ui.decisiontree.sections.delete_button=L\u00f6schen
|
||||
cms.contenttypes.ui.decisiontree.sections.delete_section_msg=Zu l\u00f6schende Sektion: "{0}"
|
||||
cms.contenttypes.ui.decisiontree.options.delete_option_msg=Zu l\u00f6schende Option: "{0}"
|
||||
cms.contenttypes.ui.decisiontree.options.delete_button=Entfernen
|
||||
cms.contenttypes.ui.decisiontree.options.delete.submission_cancelled=Option Delete submission cancelled
|
||||
|
|
|
|||
|
|
@ -1,44 +1,77 @@
|
|||
error.parameter_name_characters=This parameter can only contain letters, digits, or "-_"
|
||||
form.none=-- none --
|
||||
form.please_select=-- please select --
|
||||
form_label.cancel_url=Cancel URL
|
||||
form_label.description=Description
|
||||
form_label.instructions=Instructions
|
||||
form_label.label=Label
|
||||
form_label.match_value=Value to Match
|
||||
form_label.parameter_name=Parameter Name
|
||||
form_label.section=Section
|
||||
form_label.target_section=Target Section
|
||||
form_label.target_url=Target URL
|
||||
form_label.title=Title
|
||||
form_label.value=Value
|
||||
form_validation.target_required=Either a target URL or a target section is required.
|
||||
form_validation.duplicate_target=Please enter a target URL or a target section, but not both.
|
||||
properties.cancel_url=Cancel URL:
|
||||
section_options.add_new_option=Add new option
|
||||
section_options.add_option=Add Option
|
||||
section_options.delete_option=Delete option
|
||||
section_options.description=The options that belong to this decision tree's sections.
|
||||
section_options.edit_option=Edit Option
|
||||
section_options.move_option_name=Move option
|
||||
section_options.move_to_beginning=Move to beginning
|
||||
section_options.no_options_yet=No options yet
|
||||
section_options.title=Section Options
|
||||
section_options.view_all_options=View all options
|
||||
option_targets.add_new_target=Add new target
|
||||
option_targets.add_target=Add Target
|
||||
option_targets.delete_target=Delete target
|
||||
option_targets.description=The targets that belong to this decision treeS.
|
||||
option_targets.edit_target=Edit Target
|
||||
option_targets.no_targets_yet=No targets yet
|
||||
option_targets.title=Option Targets
|
||||
option_targets.view_all_targets=View all targets
|
||||
tree_section.submission_cancelled=Submission cancelled
|
||||
tree_sections.add_new_section=Add new section
|
||||
tree_sections.add_section=Add Section
|
||||
tree_sections.delete_section=Delete section
|
||||
tree_sections.description=The sections that belong to this decision tree.
|
||||
tree_sections.edit_section=Edit Section
|
||||
tree_sections.no_sections_yet=No sections yet
|
||||
tree_sections.title=Tree Sections
|
||||
tree_sections.view_all_sections=View all sections
|
||||
cms.contenttypes.ui.decisiontree.error.parameter_name_characters=This parameter can only contain letters, digits, or "-_"
|
||||
cms.contenttypes.ui.decisiontree.targets.form.none=-- none --
|
||||
cms.contenttypes.ui.decisiontree.options.form.please_select=-- please select --
|
||||
cms.contenttypes.ui.decisiontree.properties.form.description_label=Description
|
||||
cms.contenttypes.ui.decisiontree.sections.form.instructions_label=Instructions
|
||||
cms.contenttypes.ui.decisiontree.options.form.label=Label
|
||||
cms.contenttypes.ui.decisiontree.targets.form.match_value=Value to Match
|
||||
cms.contenttypes.ui.decisiontree.sections.form.parameter_name_label=Parameter Name
|
||||
cms.contenttypes.ui.decisiontree.options.form.section=Section
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_section_label=Target Section
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_url_label=Target URL
|
||||
cms.contenttypes.ui.decisiontree.sections.form.title_label=Title
|
||||
cms.contenttypes.ui.decisiontree.options.form.value=Value
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_required=Either a target URL or a target section is required.
|
||||
cms.contenttypes.ui.decisiontree.targets.form.duplicate_target=Please enter a target URL or a target section, but not both.
|
||||
cms.contenttypes.ui.decisiontree.properties.cancel_url=Cancel URL after user abort:
|
||||
cms.contenttypes.ui.decisiontree.options.add_new=Add new option
|
||||
cms.contenttypes.ui.decisiontree.options.add=Add Option
|
||||
cms.contenttypes.ui.decisiontree.options.delete=Delete option
|
||||
cms.contenttypes.ui.authoring.decisiontree.section_options.description=The options that belong to this decision tree's sections.
|
||||
cms.contenttypes.ui.decisiontree.options.edit=Edit Option
|
||||
cms.contenttypes.ui.decisiontree.options.table.move_option_name=Move option {0}
|
||||
cms.contenttypes.ui.decisiontree.options.table.move_to_beginning=Move to beginning
|
||||
cms.contenttypes.ui.decisiontree.options.none_yet=No options yet
|
||||
cms.contenttypes.ui.authoring.decisiontree.section_options.title=Decision Options
|
||||
cms.contenttypes.ui.decisiontree.options.view_all=View all options
|
||||
cms.contenttypes.ui.decisiontree.targets.add_new=Add new target
|
||||
cms.contenttypes.ui.decisiontree.targets.add=Add Target
|
||||
cms.contenttypes.ui.decisiontree.targets.delete=Delete target
|
||||
cms.contenttypes.ui.authoring.decisiontree.option_targets.description=The targets that belong to this decision treeS.
|
||||
cms.contenttypes.ui.decisiontree.targets.edit=Edit Target
|
||||
cms.contenttypes.ui.decisiontree.targets.none_yet=No targets yet
|
||||
cms.contenttypes.ui.authoring.decisiontree.option_targets.title=Decision Option Targets
|
||||
cms.contenttypes.ui.decisiontree.targets.view_all=View all targets
|
||||
cms.contenttypes.ui.decisiontree.options.form.submission_cancelled=Option submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.sections.add_new_label=Add new section
|
||||
cms.contenttypes.ui.decisiontree.sections.add=Add Section
|
||||
cms.contenttypes.ui.decisiontree.sections.delete=Delete section
|
||||
cms.contenttypes.ui.authoring.decisiontree.tree_sections.description=The sections that belong to this decision tree.
|
||||
cms.contenttypes.ui.decisiontree.sections.edit=Edit Section
|
||||
cms.contenttypes.ui.decisiontree.sections.no_sections_yet=No sections yet
|
||||
cms.contenttypes.ui.authoring.decisiontree.tree_sections.title=Decision Sections
|
||||
cms.contenttypes.ui.decisiontree.sections.view_all=View all sections
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_section=Decision Section
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_edit=Edit
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_delete=Delete
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_first_section=First Section?
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_delete=delete
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_edit=edit
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_set_first=set
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_section=Decision Section
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_option=Decision Option
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_edit=Edit
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_move=Move
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_delete=Delete
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_delete=delete
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_move=move
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_edit=edit
|
||||
cms.contenttypes.ui.decisiontree.targets.form.please_select=-- please select --
|
||||
cms.contenttypes.ui.decisiontree.targets.form.submission_cancelled=Target submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.targets.form.delete.delete_button=Delete
|
||||
cms.contenttypes.ui.decisiontree.targets.form.delete.target_match_value=Target Match Value
|
||||
cms.contenttypes.ui.decisiontree.targets.submission_cancelled=Submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.sections.form.submission_cancelled=Submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_move_below=move below
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_no_move=leave it here
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_section=Decision Section
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_match=Decision Option
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_edit=Edit
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_delete=Delete
|
||||
cms.contenttypes.ui.decisiontree.targets.table.link_edit=edit
|
||||
cms.contenttypes.ui.decisiontree.targets.table.link_delete=delete
|
||||
cms.contenttypes.ui.decisiontree.sections.delete_button=Delete
|
||||
cms.contenttypes.ui.decisiontree.sections.delete_section_msg=Section to be deleted: "{0}"
|
||||
cms.contenttypes.ui.decisiontree.options.delete_option_msg=Option to be deleted: "{0}"
|
||||
cms.contenttypes.ui.decisiontree.options.delete_button=Delete
|
||||
cms.contenttypes.ui.decisiontree.options.delete.submission_cancelled=Option Delete submission cancelled
|
||||
|
|
|
|||
|
|
@ -1,44 +1,77 @@
|
|||
error.parameter_name_characters=This parameter can only contain letters, digits, or "-_"
|
||||
form.none=-- none --
|
||||
form.please_select=-- please select --
|
||||
form_label.cancel_url=Cancel URL
|
||||
form_label.description=Description
|
||||
form_label.instructions=Instructions
|
||||
form_label.label=Label
|
||||
form_label.match_value=Value to Match
|
||||
form_label.parameter_name=Parameter Name
|
||||
form_label.section=Section
|
||||
form_label.target_section=Target Section
|
||||
form_label.target_url=Target URL
|
||||
form_label.title=Title
|
||||
form_label.value=Value
|
||||
form_validation.target_required=Either a target URL or a target section is required.
|
||||
form_validation.duplicate_target=Please enter a target URL or a target section, but not both.
|
||||
properties.cancel_url=Cancel URL:
|
||||
section_options.add_new_option=Add new option
|
||||
section_options.add_option=Add Option
|
||||
section_options.delete_option=Delete option
|
||||
section_options.description=The options that belong to this decision tree's sections.
|
||||
section_options.edit_option=Edit Option
|
||||
section_options.move_option_name=Move option
|
||||
section_options.move_to_beginning=Move to beginning
|
||||
section_options.no_options_yet=No options yet
|
||||
section_options.title=Section Options
|
||||
section_options.view_all_options=View all options
|
||||
option_targets.add_new_target=Add new target
|
||||
option_targets.add_target=Add Target
|
||||
option_targets.delete_target=Delete target
|
||||
option_targets.description=The targets that belong to this decision treeS.
|
||||
option_targets.edit_target=Edit Target
|
||||
option_targets.no_targets_yet=No targets yet
|
||||
option_targets.title=Option Targets
|
||||
option_targets.view_all_targets=View all targets
|
||||
tree_section.submission_cancelled=Submission cancelled
|
||||
tree_sections.add_new_section=Add new section
|
||||
tree_sections.add_section=Add Section
|
||||
tree_sections.delete_section=Delete section
|
||||
tree_sections.description=The sections that belong to this decision tree.
|
||||
tree_sections.edit_section=Edit Section
|
||||
tree_sections.no_sections_yet=No sections yet
|
||||
tree_sections.title=Tree Sections
|
||||
tree_sections.view_all_sections=View all sections
|
||||
cms.contenttypes.ui.decisiontree.error.parameter_name_characters=This parameter can only contain letters, digits, or "-_"
|
||||
cms.contenttypes.ui.decisiontree.targets.form.none=-- none --
|
||||
cms.contenttypes.ui.decisiontree.options.form.please_select=-- please select --
|
||||
cms.contenttypes.ui.decisiontree.properties.form.description_label=Description
|
||||
cms.contenttypes.ui.decisiontree.sections.form.instructions_label=Instructions
|
||||
cms.contenttypes.ui.decisiontree.options.form.label=Label
|
||||
cms.contenttypes.ui.decisiontree.targets.form.match_value=Value to Match
|
||||
cms.contenttypes.ui.decisiontree.sections.form.parameter_name_label=Parameter Name
|
||||
cms.contenttypes.ui.decisiontree.options.form.section=Section
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_section_label=Target Section
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_url_label=Target URL
|
||||
cms.contenttypes.ui.decisiontree.sections.form.title_label=Title
|
||||
cms.contenttypes.ui.decisiontree.options.form.value=Value
|
||||
cms.contenttypes.ui.decisiontree.targets.form.target_required=Either a target URL or a target section is required.
|
||||
cms.contenttypes.ui.decisiontree.targets.form.duplicate_target=Please enter a target URL or a target section, but not both.
|
||||
cms.contenttypes.ui.decisiontree.properties.cancel_url=Cancel URL after user abort:
|
||||
cms.contenttypes.ui.decisiontree.options.add_new=Add new option
|
||||
cms.contenttypes.ui.decisiontree.options.add=Add Option
|
||||
cms.contenttypes.ui.decisiontree.options.delete=Delete option
|
||||
cms.contenttypes.ui.authoring.decisiontree.section_options.description=The options that belong to this decision tree's sections.
|
||||
cms.contenttypes.ui.decisiontree.options.edit=Edit Option
|
||||
cms.contenttypes.ui.decisiontree.options.table.move_option_name=Move option {0}
|
||||
cms.contenttypes.ui.decisiontree.options.table.move_to_beginning=Move to beginning
|
||||
cms.contenttypes.ui.decisiontree.options.none_yet=No options yet
|
||||
cms.contenttypes.ui.authoring.decisiontree.section_options.title=Decision Options
|
||||
cms.contenttypes.ui.decisiontree.options.view_all=View all options
|
||||
cms.contenttypes.ui.decisiontree.targets.add_new=Add new target
|
||||
cms.contenttypes.ui.decisiontree.targets.add=Add Target
|
||||
cms.contenttypes.ui.decisiontree.targets.delete=Delete target
|
||||
cms.contenttypes.ui.authoring.decisiontree.option_targets.description=The targets that belong to this decision treeS.
|
||||
cms.contenttypes.ui.decisiontree.targets.edit=Edit Target
|
||||
cms.contenttypes.ui.decisiontree.targets.none_yet=No targets yet
|
||||
cms.contenttypes.ui.authoring.decisiontree.option_targets.title=Decision Option Targets
|
||||
cms.contenttypes.ui.decisiontree.targets.view_all=View all targets
|
||||
cms.contenttypes.ui.decisiontree.options.form.submission_cancelled=Option submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.sections.add_new_label=Add new section
|
||||
cms.contenttypes.ui.decisiontree.sections.add=Add Section
|
||||
cms.contenttypes.ui.decisiontree.sections.delete=Delete section
|
||||
cms.contenttypes.ui.authoring.decisiontree.tree_sections.description=The sections that belong to this decision tree.
|
||||
cms.contenttypes.ui.decisiontree.sections.edit=Edit Section
|
||||
cms.contenttypes.ui.decisiontree.sections.no_sections_yet=No sections yet
|
||||
cms.contenttypes.ui.authoring.decisiontree.tree_sections.title=Decision Sections
|
||||
cms.contenttypes.ui.decisiontree.sections.view_all=View all sections
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_section=Decision Section
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_edit=Edit
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_delete=Delete
|
||||
cms.contenttypes.ui.decisiontree.sections.table.header_first_section=First Section?
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_delete=delete
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_edit=edit
|
||||
cms.contenttypes.ui.decisiontree.sections.table.link_set_first=set
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_section=Decision Section
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_option=Decision Option
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_edit=Edit
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_move=Move
|
||||
cms.contenttypes.ui.decisiontree.options.table.header_delete=Delete
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_delete=delete
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_move=move
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_edit=edit
|
||||
cms.contenttypes.ui.decisiontree.targets.form.please_select=-- please select --
|
||||
cms.contenttypes.ui.decisiontree.targets.form.submission_cancelled=Target submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.targets.form.delete.delete_button=Delete
|
||||
cms.contenttypes.ui.decisiontree.targets.form.delete.target_match_value=Target Match Value
|
||||
cms.contenttypes.ui.decisiontree.targets.submission_cancelled=Submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.sections.form.submission_cancelled=Submission cancelled
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_move_below=move below
|
||||
cms.contenttypes.ui.decisiontree.options.table.link_no_move=leave it here
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_section=Decision Section
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_match=Decision Option
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_edit=Edit
|
||||
cms.contenttypes.ui.decisiontree.targets.table.header_delete=Delete
|
||||
cms.contenttypes.ui.decisiontree.targets.table.link_edit=edit
|
||||
cms.contenttypes.ui.decisiontree.targets.table.link_delete=delete
|
||||
cms.contenttypes.ui.decisiontree.sections.delete_button=Delete
|
||||
cms.contenttypes.ui.decisiontree.sections.delete_section_msg=Section to be deleted: "{0}"
|
||||
cms.contenttypes.ui.decisiontree.options.delete_option_msg=Option to be deleted: "{0}"
|
||||
cms.contenttypes.ui.decisiontree.options.delete_button=Delete
|
||||
cms.contenttypes.ui.decisiontree.options.delete.submission_cancelled=Option Delete submission cancelled
|
||||
|
|
|
|||
|
|
@ -30,8 +30,6 @@ import com.arsdigita.persistence.DataCollection;
|
|||
*/
|
||||
public class DecisionTreeSectionCollection extends DomainCollection {
|
||||
|
||||
public static final String versionId = "$Id$";
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
|
|
@ -55,6 +53,7 @@ public class DecisionTreeSectionCollection extends DomainCollection {
|
|||
* the collection.
|
||||
*
|
||||
**/
|
||||
@Override
|
||||
public DomainObject getDomainObject() {
|
||||
return new DecisionTreeSection(m_dataCollection.getDataObject());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ import com.arsdigita.bebop.event.FormProcessListener;
|
|||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSectionOption;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
|
||||
/**
|
||||
|
|
@ -46,17 +46,21 @@ import com.arsdigita.cms.ItemSelectionModel;
|
|||
public class DecisionTreeOptionDeleteForm extends Form
|
||||
implements FormInitListener,
|
||||
FormSubmissionListener,
|
||||
FormProcessListener
|
||||
{
|
||||
FormProcessListener {
|
||||
private final static Logger s_log = Logger.getLogger(
|
||||
DecisionTreeOptionDeleteForm.class.getName());
|
||||
|
||||
protected ItemSelectionModel m_selTree;
|
||||
protected ItemSelectionModel m_selOption;
|
||||
protected SaveCancelSection m_saveCancelSection;
|
||||
private Label m_optionLabel;
|
||||
/** Label denoting the name of the option to delete. */
|
||||
private Label optionLabel;
|
||||
/** Value containin the actual name of the option to be deleted. Will be
|
||||
* passed into the Label field above using string formatter */
|
||||
private String[] optionValue = new String[1];
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param selTree
|
||||
* @param selOption
|
||||
|
|
@ -75,9 +79,12 @@ public class DecisionTreeOptionDeleteForm extends Form
|
|||
panel.setColumnWidth(2, "80%");
|
||||
panel.setWidth("100%");
|
||||
|
||||
m_optionLabel = new Label("Option Label");
|
||||
add(m_optionLabel, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
|
||||
addSaveCancelSection();
|
||||
optionLabel = new Label( // "Option Label");
|
||||
DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.delete_option_msg",
|
||||
optionValue));
|
||||
add(optionLabel, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
|
||||
addSaveCancelSection(); // add a save/cancel section to the form
|
||||
|
||||
addInitListener(this);
|
||||
addSubmissionListener(this);
|
||||
|
|
@ -85,12 +92,14 @@ public class DecisionTreeOptionDeleteForm extends Form
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* Create and adjust the label(s) of the SaveCancel button bar.
|
||||
* @return a new save/cancel bar with customized button labels
|
||||
*/
|
||||
protected SaveCancelSection addSaveCancelSection () {
|
||||
m_saveCancelSection = new SaveCancelSection();
|
||||
m_saveCancelSection.getSaveButton().setButtonLabel("Delete");
|
||||
m_saveCancelSection.getSaveButton().setButtonLabel( // "Delete");
|
||||
DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.delete_button"));
|
||||
add(m_saveCancelSection, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
|
||||
return m_saveCancelSection;
|
||||
}
|
||||
|
|
@ -101,21 +110,23 @@ public class DecisionTreeOptionDeleteForm extends Form
|
|||
* @throws FormProcessException
|
||||
*/
|
||||
public void init ( FormSectionEvent event ) throws FormProcessException {
|
||||
|
||||
PageState state = event.getPageState();
|
||||
|
||||
BigDecimal id = new BigDecimal(m_selOption
|
||||
.getSelectedKey(state).toString());
|
||||
BigDecimal id = new BigDecimal(m_selOption.getSelectedKey(state)
|
||||
.toString());
|
||||
DecisionTreeSectionOption option = new DecisionTreeSectionOption(id);
|
||||
|
||||
m_optionLabel.setLabel(option.getLabel(), state);
|
||||
optionValue[0] = option.getLabel(); //insert the actual name to the label
|
||||
}
|
||||
|
||||
public void submitted ( FormSectionEvent event ) throws FormProcessException {
|
||||
PageState state = event.getPageState();
|
||||
|
||||
if ( m_saveCancelSection.getCancelButton().isSelected(state) ) {
|
||||
throw new FormProcessException( (String) DecisionTreeUtil
|
||||
.globalize("tree_section.submission_cancelled").localize());
|
||||
throw new FormProcessException( (String)
|
||||
DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.delete.submission_cancelled")
|
||||
.localize());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ import com.arsdigita.cms.contenttypes.DecisionTree;
|
|||
import com.arsdigita.cms.contenttypes.DecisionTreeSection;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSectionCollection;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSectionOption;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
|
||||
/**
|
||||
|
|
@ -66,7 +66,7 @@ public class DecisionTreeOptionEditForm extends Form
|
|||
private ItemSelectionModel m_selTree;
|
||||
private ItemSelectionModel m_selOption;
|
||||
|
||||
private DecisionTreeViewOptions m_container;
|
||||
private DecisionTreeOptionStep m_container;
|
||||
|
||||
private SaveCancelSection m_saveCancelSection;
|
||||
private SingleSelect m_sectionWidget;
|
||||
|
|
@ -95,7 +95,8 @@ public class DecisionTreeOptionEditForm extends Form
|
|||
*/
|
||||
public DecisionTreeOptionEditForm(ItemSelectionModel selTree,
|
||||
ItemSelectionModel selOption,
|
||||
DecisionTreeViewOptions container) {
|
||||
DecisionTreeOptionStep container) {
|
||||
|
||||
super("DecisionTreeOptionEditForm", new ColumnPanel(2));
|
||||
m_selTree = selTree;
|
||||
m_selOption = selOption;
|
||||
|
|
@ -180,10 +181,14 @@ public class DecisionTreeOptionEditForm extends Form
|
|||
* Add form widgets for a Section.
|
||||
*/
|
||||
protected void addWidgets() {
|
||||
Option pleaseSelect = new Option("", (String)DecisionTreeUtil.globalize("form.please_select").localize());
|
||||
Option pleaseSelect = new Option(
|
||||
"",
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.form.please_select")
|
||||
));
|
||||
|
||||
add(new Label(DecisionTreeUtil
|
||||
.globalize("form_label.section")));
|
||||
add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.form.section")));
|
||||
m_sectionWidget = new SingleSelect(SECTION);
|
||||
m_sectionWidget.addValidationListener(new NotNullValidationListener());
|
||||
m_sectionWidget.addOption(pleaseSelect);
|
||||
|
|
@ -200,14 +205,15 @@ public class DecisionTreeOptionEditForm extends Form
|
|||
|
||||
add(m_sectionWidget);
|
||||
|
||||
add(new Label(DecisionTreeUtil
|
||||
.globalize("form_label.label")));
|
||||
add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.form.label")));
|
||||
TextField labelWidget = new TextField(new TrimmedStringParameter(LABEL));
|
||||
labelWidget.addValidationListener(new NotNullValidationListener());
|
||||
labelWidget.setSize(60);
|
||||
add(labelWidget);
|
||||
|
||||
add(new Label(DecisionTreeUtil.globalize("form_label.value")));
|
||||
add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.form.value")));
|
||||
TextField valueWidget = new TextField(new TrimmedStringParameter(VALUE));
|
||||
valueWidget.addValidationListener(new NotNullValidationListener());
|
||||
valueWidget.setSize(60);
|
||||
|
|
@ -225,11 +231,11 @@ public class DecisionTreeOptionEditForm extends Form
|
|||
if ( m_saveCancelSection.getCancelButton()
|
||||
.isSelected(state) && m_container != null) {
|
||||
m_container.onlyShowComponent(
|
||||
state, DecisionTreeViewOptions.OPTION_TABLE +
|
||||
state, DecisionTreeOptionStep.OPTION_TABLE +
|
||||
m_container.getTypeIDStr());
|
||||
throw new FormProcessException(
|
||||
(String)DecisionTreeUtil
|
||||
.globalize("tree_section.submission_cancelled")
|
||||
(String)DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.form.submission_cancelled")
|
||||
.localize());
|
||||
}
|
||||
}
|
||||
|
|
@ -267,11 +273,12 @@ public class DecisionTreeOptionEditForm extends Form
|
|||
if (m_container != null) {
|
||||
m_container.onlyShowComponent(
|
||||
state,
|
||||
DecisionTreeViewOptions.OPTION_TABLE +
|
||||
DecisionTreeOptionStep.OPTION_TABLE +
|
||||
m_container.getTypeIDStr());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register(Page p) {
|
||||
super.register(p);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,16 +38,12 @@ import com.arsdigita.bebop.event.PrintListener;
|
|||
import com.arsdigita.bebop.event.TableActionEvent;
|
||||
import com.arsdigita.bebop.event.TableActionListener;
|
||||
import com.arsdigita.bebop.parameters.BigDecimalParameter;
|
||||
import com.arsdigita.bebop.table.TableColumn;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTree;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSectionOption;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSection;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.SecurityManager;
|
||||
import com.arsdigita.cms.contenttypes.ui.ResettableContainer;
|
||||
import com.arsdigita.cms.dispatcher.Utilities;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.util.Assert;
|
||||
|
||||
|
|
@ -61,11 +57,14 @@ import com.arsdigita.util.Assert;
|
|||
* @author Carsten Clasohm
|
||||
* @version $Id$
|
||||
*/
|
||||
public class DecisionTreeViewOptions extends ResettableContainer
|
||||
public class DecisionTreeOptionStep extends ResettableContainer
|
||||
{
|
||||
/** id keys for each editing panel */
|
||||
// id keys for each editing panel
|
||||
/** id key for table panel */
|
||||
public static final String OPTION_TABLE = "opt_tbl";
|
||||
/** id key for edit form panel */
|
||||
public static final String OPTION_EDIT = "opt_edt";
|
||||
/** id key for delete form panel */
|
||||
public static final String OPTION_DEL = "opt_del";
|
||||
|
||||
/** class attributes */
|
||||
|
|
@ -78,9 +77,12 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
protected ItemSelectionModel m_moveOption;
|
||||
protected BigDecimalParameter m_moveParameter;
|
||||
|
||||
/** visual components that do the 'real work' */
|
||||
// visual components that do the 'real work'
|
||||
/** Table visual component that does the 'real work' */
|
||||
protected DecisionTreeOptionTable m_optionTable;
|
||||
/** EditForm visual component that does the 'real work' */
|
||||
protected DecisionTreeOptionEditForm m_optionEdit;
|
||||
/** DeleteForm visual component that does the 'real work' */
|
||||
protected DecisionTreeOptionDeleteForm m_optionDelete;
|
||||
|
||||
protected ActionLink m_beginLink;
|
||||
|
|
@ -88,7 +90,14 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
|
||||
private String m_typeIDStr;
|
||||
|
||||
public DecisionTreeViewOptions (ItemSelectionModel selTree, AuthoringKitWizard wizard) {
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param selTree
|
||||
* @param wizard
|
||||
*/
|
||||
public DecisionTreeOptionStep (ItemSelectionModel selTree,
|
||||
AuthoringKitWizard wizard) {
|
||||
super();
|
||||
m_selTree = selTree;
|
||||
m_wizard = wizard;
|
||||
|
|
@ -111,8 +120,12 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
c.setBorderColor("#FFFFFF");
|
||||
c.setPadColor("#FFFFFF");
|
||||
|
||||
// Just create Link to add a new option, to be added below the table body
|
||||
final ActionLink addOptionLink = buildAddLink();
|
||||
|
||||
m_moveParameter = new BigDecimalParameter("moveOption");
|
||||
m_moveOption = new ItemSelectionModel(DecisionTreeSectionOption.class.getName(),
|
||||
m_moveOption = new ItemSelectionModel(
|
||||
DecisionTreeSectionOption.class.getName(),
|
||||
DecisionTreeSectionOption.BASE_DATA_OBJECT_TYPE,
|
||||
m_moveParameter);
|
||||
|
||||
|
|
@ -120,22 +133,24 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
m_optionTable.setClassAttr(DATA_TABLE);
|
||||
|
||||
// selected option is based on the selection in the OptionTable
|
||||
m_selOption = new ItemSelectionModel(DecisionTreeSectionOption.class.getName(),
|
||||
m_selOption = new ItemSelectionModel(
|
||||
DecisionTreeSectionOption.class.getName(),
|
||||
DecisionTreeSectionOption.BASE_DATA_OBJECT_TYPE,
|
||||
m_optionTable.getRowSelectionModel());
|
||||
m_optionTable.setOptionModel(m_selOption);
|
||||
|
||||
Label emptyView = new Label(DecisionTreeUtil
|
||||
.globalize("section_options.no_options_yet"));
|
||||
Label emptyView = new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.none_yet"));
|
||||
m_optionTable.setEmptyView(emptyView);
|
||||
|
||||
m_moveOptionLabel = new Label ("Option Name");
|
||||
m_moveOptionLabel = new Label (); //will be set later below
|
||||
c.add(m_moveOptionLabel, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
|
||||
|
||||
m_beginLink = new ActionLink(DecisionTreeUtil
|
||||
.globalize("section_options.move_to_beginning"));
|
||||
m_beginLink = new ActionLink(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.move_to_beginning"));
|
||||
c.add(m_beginLink);
|
||||
|
||||
|
||||
m_beginLink.addActionListener ( new ActionListener() {
|
||||
public void actionPerformed ( ActionEvent event ) {
|
||||
PageState state = event.getPageState();
|
||||
|
|
@ -155,9 +170,11 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
if ( m_moveOption.getSelectedKey(state) == null ) {
|
||||
m_beginLink.setVisible(state, false);
|
||||
m_moveOptionLabel.setVisible(state, false);
|
||||
addOptionLink.setVisible(state, true);
|
||||
} else {
|
||||
m_beginLink.setVisible(state, true);
|
||||
m_moveOptionLabel.setVisible(state, true);
|
||||
addOptionLink.setVisible(state, false);
|
||||
|
||||
DecisionTreeSectionOption option =
|
||||
(DecisionTreeSectionOption) m_moveOption
|
||||
|
|
@ -165,11 +182,12 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
String optionName = option.getSection().getTitle() + " - "
|
||||
+ option.getLabel();
|
||||
|
||||
m_moveOptionLabel.setLabel
|
||||
( (String)DecisionTreeUtil
|
||||
.globalize("section_options.move_option_name")
|
||||
.localize()
|
||||
+ " \"" + optionName + "\"", state);
|
||||
String[] moveOptionValues = {" \"" + optionName + "\""};
|
||||
m_moveOptionLabel.setLabel( // overwrite previously defined empty
|
||||
DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.move_option_name",
|
||||
moveOptionValues)
|
||||
, state);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -178,14 +196,11 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
m_optionTable.addTableActionListener (new TableActionListener () {
|
||||
public void cellSelected (TableActionEvent event) {
|
||||
PageState state = event.getPageState();
|
||||
int col = event.getColumn();
|
||||
|
||||
TableColumn col = m_optionTable.getColumnModel()
|
||||
.get(event.getColumn().intValue());
|
||||
String colName = (String)col.getHeaderValue();
|
||||
|
||||
if (DecisionTreeOptionTable.COL_DEL.equals(colName)) {
|
||||
if ( col == DecisionTreeOptionTable.COL_IDX_DEL ) {
|
||||
onlyShowComponent(state, OPTION_DEL+m_typeIDStr);
|
||||
} else if (DecisionTreeOptionTable.COL_EDIT.equals(colName)) {
|
||||
} else if ( col == DecisionTreeOptionTable.COL_IDX_EDIT ) {
|
||||
onlyShowComponent(state, OPTION_EDIT+m_typeIDStr);
|
||||
}
|
||||
}
|
||||
|
|
@ -195,14 +210,16 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
c.add(m_optionTable);
|
||||
|
||||
// link to add new section
|
||||
c.add(buildAddLink());
|
||||
c.add(addOptionLink);
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds a container to hold a SectionEditForm and a link
|
||||
* to return to the section list.
|
||||
* Builds a container to hold a SectionEditForm and a link to return to
|
||||
* the option list.
|
||||
* This container replaces the option table when the "edit" link is
|
||||
* selected {@see buildOptionTable ()} above.
|
||||
*/
|
||||
protected Container buildOptionEdit () {
|
||||
ColumnPanel c = new ColumnPanel(1);
|
||||
|
|
@ -217,9 +234,11 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
Label label = (Label)event.getTarget();
|
||||
|
||||
if (m_selOption.getSelectedKey(state) == null) {
|
||||
label.setLabel((String)DecisionTreeUtil.globalize("section_options.add_option").localize());
|
||||
label.setLabel(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.add"));
|
||||
} else {
|
||||
label.setLabel((String)DecisionTreeUtil.globalize("section_options.edit_option").localize());
|
||||
label.setLabel(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.edit"));
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
|
@ -229,15 +248,15 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
c.add(m_optionEdit);
|
||||
|
||||
c.add(buildViewAllLink());
|
||||
// link to add new section
|
||||
c.add(buildAddLink());
|
||||
c.add(buildAddLink()); // link to add new section
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds a container to hold the component to confirm
|
||||
* deletion of a section.
|
||||
* Builds a container to hold the component to confirm deletion of an option.
|
||||
* This container replaces the option table when the "delete" link is
|
||||
* selected {@see buildOptionTable ()} above.
|
||||
*/
|
||||
protected Container buildOptionDelete () {
|
||||
ColumnPanel c = new ColumnPanel(1);
|
||||
|
|
@ -245,7 +264,8 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
c.setBorderColor("#FFFFFF");
|
||||
c.setPadColor("#FFFFFF");
|
||||
|
||||
c.add(new Label(DecisionTreeUtil.globalize("section_options.delete_option")));
|
||||
c.add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.delete")));
|
||||
m_optionDelete = new DecisionTreeOptionDeleteForm(m_selTree, m_selOption);
|
||||
m_optionDelete.addSubmissionListener ( new FormSubmissionListener () {
|
||||
public void submitted ( FormSectionEvent e ) {
|
||||
|
|
@ -264,7 +284,8 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
* Utility method to create a link to display the section list.
|
||||
*/
|
||||
protected ActionLink buildViewAllLink () {
|
||||
ActionLink viewAllLink = new ActionLink( (String) DecisionTreeUtil.globalize("section_options.view_all_options").localize());
|
||||
ActionLink viewAllLink = new ActionLink( DecisionTreeGlobalizationUtil
|
||||
.globalize("cms.contenttypes.ui.decisiontree.options.view_all"));
|
||||
viewAllLink.setClassAttr(ACTION_LINK);
|
||||
viewAllLink.addActionListener( new ActionListener() {
|
||||
public void actionPerformed ( ActionEvent event ) {
|
||||
|
|
@ -279,13 +300,16 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
* Utility method to create a link to display the section list.
|
||||
*/
|
||||
protected ActionLink buildAddLink () {
|
||||
ActionLink addLink = new ActionLink( (String) DecisionTreeUtil.globalize("section_options.add_new_option").localize()) {
|
||||
ActionLink addLink = new ActionLink( DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.add_new")) {
|
||||
@Override
|
||||
public boolean isVisible(PageState state) {
|
||||
SecurityManager sm = Utilities.getSecurityManager(state);
|
||||
SecurityManager sm = CMS.getSecurityManager(state);
|
||||
ContentItem item = (ContentItem)m_selTree.getSelectedObject(state);
|
||||
|
||||
return super.isVisible(state) &&
|
||||
sm.canAccess(state.getRequest(), SecurityManager.EDIT_ITEM,
|
||||
return super.isVisible(state)
|
||||
&& sm.canAccess(state.getRequest(),
|
||||
SecurityManager.EDIT_ITEM,
|
||||
item);
|
||||
|
||||
}
|
||||
|
|
@ -302,6 +326,11 @@ public class DecisionTreeViewOptions extends ResettableContainer
|
|||
return addLink;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param p
|
||||
*/
|
||||
@Override
|
||||
public void register ( Page p ) {
|
||||
super.register(p);
|
||||
p.addGlobalStateParam(m_moveParameter);
|
||||
|
|
@ -34,6 +34,7 @@ import com.arsdigita.bebop.table.TableColumn;
|
|||
import com.arsdigita.bebop.table.TableColumnModel;
|
||||
import com.arsdigita.bebop.table.TableModel;
|
||||
import com.arsdigita.bebop.table.TableModelBuilder;
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTree;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSection;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSectionOption;
|
||||
|
|
@ -41,7 +42,7 @@ import com.arsdigita.cms.contenttypes.DecisionTreeSectionOptionCollection;
|
|||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.SecurityManager;
|
||||
import com.arsdigita.cms.dispatcher.Utilities;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.util.LockableImpl;
|
||||
|
||||
/**
|
||||
|
|
@ -53,12 +54,13 @@ import com.arsdigita.util.LockableImpl;
|
|||
*/
|
||||
public class DecisionTreeOptionTable extends Table
|
||||
{
|
||||
// column headings
|
||||
public static final String COL_SECTION = "Section";
|
||||
public static final String COL_OPTION = "Option";
|
||||
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_IDX_SECTION = 0;
|
||||
public static final int COL_IDX_OPTION = 1;
|
||||
public static final int COL_IDX_EDIT = 2;
|
||||
public static final int COL_IDX_MOVE = 3;
|
||||
public static final int COL_IDX_DEL = 4;
|
||||
|
||||
private ItemSelectionModel m_selTree;
|
||||
private ItemSelectionModel m_selOption;
|
||||
|
|
@ -80,11 +82,31 @@ public class DecisionTreeOptionTable extends Table
|
|||
m_moveOption = moveOption;
|
||||
|
||||
TableColumnModel model = getColumnModel();
|
||||
model.add(new TableColumn(0, COL_SECTION));
|
||||
model.add(new TableColumn(1, COL_OPTION));
|
||||
model.add(new TableColumn(2, COL_EDIT));
|
||||
model.add(new TableColumn(3, COL_MOVE));
|
||||
model.add(new TableColumn(4, COL_DEL));
|
||||
model.add(new TableColumn(
|
||||
COL_IDX_SECTION,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.header_section")
|
||||
) ));
|
||||
model.add(new TableColumn(
|
||||
COL_IDX_OPTION,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.header_option")
|
||||
) ));
|
||||
model.add(new TableColumn(
|
||||
COL_IDX_EDIT,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.header_edit")
|
||||
) ));
|
||||
model.add(new TableColumn(
|
||||
COL_IDX_MOVE,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.header_move")
|
||||
) ));
|
||||
model.add(new TableColumn(
|
||||
COL_IDX_DEL,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.header_delete")
|
||||
) ));
|
||||
|
||||
model.get(2).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
model.get(3).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
|
|
@ -96,19 +118,24 @@ public class DecisionTreeOptionTable 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());
|
||||
int colIndex = event.getColumn();
|
||||
|
||||
if ( COL_MOVE.equals(colName) ) {
|
||||
if ( colIndex == COL_IDX_MOVE ) {
|
||||
if ( m_moveOption.getSelectedKey(state) == null ) {
|
||||
m_moveOption.setSelectedKey(state, m_selOption.getSelectedKey(state));
|
||||
m_moveOption.setSelectedKey(
|
||||
state,
|
||||
m_selOption.getSelectedKey(state));
|
||||
} else {
|
||||
BigDecimal id = (BigDecimal) m_moveOption.getSelectedKey(state);
|
||||
DecisionTreeSectionOption option = new DecisionTreeSectionOption(id);
|
||||
BigDecimal id = (BigDecimal) m_moveOption
|
||||
.getSelectedKey(state);
|
||||
DecisionTreeSectionOption option = new
|
||||
DecisionTreeSectionOption(id);
|
||||
|
||||
BigDecimal dest = new BigDecimal((String) event.getRowKey());
|
||||
DecisionTreeSectionOption destOption = new DecisionTreeSectionOption(dest);
|
||||
DecisionTreeSectionOption destOption = new
|
||||
DecisionTreeSectionOption(dest);
|
||||
|
||||
DecisionTreeSection section = option.getSection();
|
||||
|
||||
|
|
@ -143,15 +170,16 @@ public class DecisionTreeOptionTable extends Table
|
|||
}
|
||||
|
||||
/**
|
||||
* The model builder to generate a suitable model for the OptionTable
|
||||
* Internal class model builder to generate a suitable model for the
|
||||
* OptionTable.
|
||||
*/
|
||||
protected class OptionTableModelBuilder extends LockableImpl
|
||||
implements TableModelBuilder
|
||||
{
|
||||
implements TableModelBuilder {
|
||||
protected ItemSelectionModel m_selTree;
|
||||
protected ItemSelectionModel m_moveOption;
|
||||
|
||||
public OptionTableModelBuilder(ItemSelectionModel selTree, ItemSelectionModel moveOption) {
|
||||
public OptionTableModelBuilder(ItemSelectionModel selTree,
|
||||
ItemSelectionModel moveOption) {
|
||||
m_selTree = selTree;
|
||||
m_moveOption = moveOption;
|
||||
}
|
||||
|
|
@ -163,8 +191,10 @@ public class DecisionTreeOptionTable extends Table
|
|||
}
|
||||
}
|
||||
|
||||
protected class OptionTableModel implements TableModel
|
||||
{
|
||||
/**
|
||||
* Internal class
|
||||
*/
|
||||
protected class OptionTableModel implements TableModel {
|
||||
private TableColumnModel m_colModel;
|
||||
private PageState m_state;
|
||||
private DecisionTreeSectionOptionCollection m_options;
|
||||
|
|
@ -172,7 +202,8 @@ public class DecisionTreeOptionTable extends Table
|
|||
private DecisionTreeSectionOption m_option;
|
||||
|
||||
/** Constructor. */
|
||||
public OptionTableModel(Table table, PageState state, DecisionTree tree, ItemSelectionModel moveOption) {
|
||||
public OptionTableModel(Table table, PageState state, DecisionTree tree,
|
||||
ItemSelectionModel moveOption) {
|
||||
m_colModel = table.getColumnModel();
|
||||
m_state = state;
|
||||
m_options = tree.getOptions();
|
||||
|
|
@ -195,32 +226,53 @@ public class DecisionTreeOptionTable 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_SECTION.equals(colName)) {
|
||||
// match columns by (symbolic) index, makes for easier reordering
|
||||
if ( columnIndex == COL_IDX_SECTION ) {
|
||||
return m_option.getSection().getTitle();
|
||||
} else if (COL_OPTION.equals(colName)) {
|
||||
} else if (columnIndex == COL_IDX_OPTION ) {
|
||||
return m_option.getLabel();
|
||||
} else if (COL_EDIT.equals(colName)) {
|
||||
return "edit";
|
||||
} else if (COL_MOVE.equals(colName)) {
|
||||
} else if ( columnIndex == COL_IDX_EDIT ) {
|
||||
return new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.link_edit")
|
||||
);
|
||||
} else if ( columnIndex == COL_IDX_MOVE ) {
|
||||
if ( m_moveOption.getSelectedKey(m_state) == null ) {
|
||||
return "move";
|
||||
return new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.link_move")
|
||||
);
|
||||
} else {
|
||||
DecisionTreeSectionOption src = new DecisionTreeSectionOption(new BigDecimal((String) m_moveOption.getSelectedKey(m_state)));
|
||||
if (m_option.getSection().equals(src.getSection()))
|
||||
return "move below here";
|
||||
DecisionTreeSectionOption src =
|
||||
new DecisionTreeSectionOption(
|
||||
new BigDecimal((String)m_moveOption
|
||||
.getSelectedKey(m_state)));
|
||||
if (m_option.getSection().equals(src.getSection())) {
|
||||
|
||||
if ( m_option.getLabel().equals(src.getLabel() ) )
|
||||
return new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.link_no_move")
|
||||
);
|
||||
else
|
||||
return "";
|
||||
// return "move below here";
|
||||
return new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.link_move_below")
|
||||
);
|
||||
} else
|
||||
// no link should be provided for options not belonging
|
||||
// to the same section as the option to be moved
|
||||
// return anything different from Label to prevent
|
||||
// creation of an ActionLink
|
||||
return null;
|
||||
}
|
||||
} else if (COL_DEL.equals(colName)) {
|
||||
return "delete";
|
||||
} else if ( columnIndex == COL_IDX_DEL ) {
|
||||
return new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.options.table.link_delete")
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
|
@ -245,29 +297,41 @@ public class DecisionTreeOptionTable extends Table
|
|||
m_active = active;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param table
|
||||
* @param state
|
||||
* @param value
|
||||
* @param isSelected
|
||||
* @param key
|
||||
* @param row
|
||||
* @param column
|
||||
* @return
|
||||
*/
|
||||
public Component getComponent(Table table, PageState state,
|
||||
Object value, boolean isSelected,
|
||||
Object key, int row, int column) {
|
||||
Component ret = null;
|
||||
SecurityManager sm = Utilities.getSecurityManager(state);
|
||||
SecurityManager sm = CMS.getSecurityManager(state);
|
||||
ContentItem item = (ContentItem)m_selTree.getSelectedObject(state);
|
||||
|
||||
boolean active = m_active &&
|
||||
sm.canAccess(state.getRequest(), SecurityManager.EDIT_ITEM,
|
||||
boolean active = m_active && sm.canAccess(state.getRequest(),
|
||||
SecurityManager.EDIT_ITEM,
|
||||
item);
|
||||
|
||||
if (value instanceof Component) {
|
||||
ret = (Component)value;
|
||||
} else {
|
||||
if (value == null) {
|
||||
ret = new Label("", false);
|
||||
} else {
|
||||
} else if (value instanceof Label) {
|
||||
if (active) {
|
||||
ret = new ControlLink(value.toString());
|
||||
// ret = new ControlLink(value.toString());
|
||||
ret = new ControlLink( (Component)value );
|
||||
} else {
|
||||
ret = new Label(value.toString());
|
||||
}
|
||||
// ret = new Label(value.toString());
|
||||
ret = (Component)value;
|
||||
}
|
||||
} else {
|
||||
// last resort, should never happen
|
||||
ret = (Component)value;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -22,22 +22,21 @@ import com.arsdigita.bebop.FormProcessException;
|
|||
import com.arsdigita.bebop.event.ParameterEvent;
|
||||
import com.arsdigita.bebop.parameters.GlobalizedParameterListener;
|
||||
import com.arsdigita.bebop.parameters.ParameterData;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
/**
|
||||
* Verifies that the
|
||||
* parameter's value contains only letters, digits, "-" and "_".
|
||||
* Verifies that the parameter's value contains only letters, digits, "-" and "_".
|
||||
*
|
||||
* @author Carsten Clasohm
|
||||
* @version $Id$
|
||||
**/
|
||||
|
||||
*/
|
||||
public class DecisionTreeParameterNameValidationListener
|
||||
extends GlobalizedParameterListener {
|
||||
|
||||
public DecisionTreeParameterNameValidationListener() {
|
||||
setError(DecisionTreeUtil.globalize("error.parameter_name_characters"));
|
||||
setError(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.error.parameter_name_characters"));
|
||||
}
|
||||
|
||||
public DecisionTreeParameterNameValidationListener(GlobalizedMessage error) {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import com.arsdigita.bebop.form.TextField;
|
|||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.bebop.parameters.TrimmedStringParameter;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTree;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||
|
||||
|
|
@ -65,17 +65,20 @@ public class DecisionTreePropertiesForm extends BasicPageForm implements
|
|||
addSubmissionListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addWidgets() {
|
||||
super.addWidgets();
|
||||
|
||||
add(new Label(DecisionTreeUtil.globalize("form_label.description")));
|
||||
add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.properties.form.description_label")));
|
||||
|
||||
TextArea description = new TextArea(new TrimmedStringParameter(DESCRIPTION));
|
||||
description.setRows(5);
|
||||
description.setCols(30);
|
||||
add(description);
|
||||
|
||||
add(new Label(DecisionTreeUtil.globalize("form_label.cancel_url")));
|
||||
add(new Label(DecisionTreeGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.decisiontree.properties.cancel_url")));
|
||||
TextField cancelURL = new TextField(new StringParameter(CANCEL_URL));
|
||||
cancelURL.setSize(60);
|
||||
add(cancelURL);
|
||||
|
|
|
|||
|
|
@ -19,9 +19,10 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.ContentPage;
|
||||
import com.arsdigita.cms.ContentSection;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||
|
|
@ -44,6 +45,7 @@ public class DecisionTreePropertiesStep extends SimpleEditStep {
|
|||
|
||||
public DecisionTreePropertiesStep(ItemSelectionModel itemModel,
|
||||
AuthoringKitWizard parent) {
|
||||
|
||||
super(itemModel, parent);
|
||||
|
||||
setDefaultEditKey(EDIT_SHEET_NAME);
|
||||
|
|
@ -51,27 +53,42 @@ public class DecisionTreePropertiesStep extends SimpleEditStep {
|
|||
BasicPageForm editSheet;
|
||||
|
||||
editSheet = new DecisionTreePropertiesForm( itemModel, this );
|
||||
add(EDIT_SHEET_NAME, "Edit", new WorkflowLockedComponentAccess(editSheet, itemModel),
|
||||
add(EDIT_SHEET_NAME,
|
||||
GlobalizationUtil.globalize("cms.ui.edit"),
|
||||
new WorkflowLockedComponentAccess(editSheet, itemModel),
|
||||
editSheet.getSaveCancelSection().getCancelButton() );
|
||||
|
||||
setDisplayComponent(getPropertySheet(itemModel));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a component that displays the properties of the
|
||||
* Article specified by the ItemSelectionModel passed in.
|
||||
* Returns a component that displays the properties of the DecisionTree
|
||||
* specified by the ItemSelectionModel passed in.
|
||||
*
|
||||
* @param itemModel The ItemSelectionModel to use
|
||||
* @pre itemModel != null
|
||||
* @return A component to display the state of the basic properties
|
||||
* of the release
|
||||
* @return A component to display the state of the basic
|
||||
* properties of the release
|
||||
*/
|
||||
public static Component getPropertySheet( ItemSelectionModel itemModel ) {
|
||||
|
||||
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
|
||||
|
||||
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.name"), ContentItem.NAME);
|
||||
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.title"), ContentPage.TITLE);
|
||||
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.description"), ContentPage.DESCRIPTION);
|
||||
sheet.add(DecisionTreeUtil.globalize("properties.cancel_url"), CANCEL_URL);
|
||||
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.title"),
|
||||
ContentPage.TITLE);
|
||||
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.name"),
|
||||
ContentItem.NAME);
|
||||
if (!ContentSection.getConfig().getHideLaunchDate()) {
|
||||
sheet.add(GlobalizationUtil
|
||||
.globalize("cms.contenttypes.ui.launch_date"),
|
||||
ContentPage.LAUNCH_DATE,
|
||||
new LaunchDateAttributeFormatter() );
|
||||
}
|
||||
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.description"),
|
||||
ContentPage.DESCRIPTION);
|
||||
sheet.add(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.properties.cancel_url"),
|
||||
CANCEL_URL);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@ import com.arsdigita.bebop.event.FormProcessListener;
|
|||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTree;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSection;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.util.Assert;
|
||||
|
||||
|
|
@ -44,18 +44,24 @@ import com.arsdigita.util.Assert;
|
|||
* @version $Id$
|
||||
*/
|
||||
public class DecisionTreeSectionDeleteForm extends Form
|
||||
implements FormInitListener, FormSubmissionListener, FormProcessListener
|
||||
{
|
||||
implements FormInitListener,
|
||||
FormSubmissionListener,
|
||||
FormProcessListener {
|
||||
private final static Logger log = Logger.getLogger(
|
||||
DecisionTreeSectionDeleteForm.class.getName());
|
||||
|
||||
protected ItemSelectionModel m_selTree;
|
||||
protected ItemSelectionModel m_selSection;
|
||||
protected SaveCancelSection m_saveCancelSection;
|
||||
/** Label denoting the name of the section to delete. */
|
||||
private Label m_sectionNameLabel;
|
||||
/** Value containin the name of the section to be deleted. Will be passed
|
||||
* into the Label field above using string formatter */
|
||||
private String[] m_sectionNameValue = new String[1];
|
||||
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param selArticle
|
||||
* @param selSection
|
||||
|
|
@ -73,40 +79,62 @@ public class DecisionTreeSectionDeleteForm extends Form
|
|||
panel.setColumnWidth(2, "80%");
|
||||
panel.setWidth("100%");
|
||||
|
||||
m_sectionNameLabel = new Label ("Section Name");
|
||||
m_sectionNameLabel = new Label ( // Section name
|
||||
DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.delete_section_msg",
|
||||
m_sectionNameValue));
|
||||
add(m_sectionNameLabel, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
|
||||
addSaveCancelSection();
|
||||
addSaveCancelSection(); // add a save/cancel section to the form
|
||||
|
||||
addInitListener(this);
|
||||
addSubmissionListener(this);
|
||||
addProcessListener(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create and adjust the label(s) of the SaveCancel button bar.
|
||||
* @return
|
||||
*/
|
||||
protected SaveCancelSection addSaveCancelSection () {
|
||||
m_saveCancelSection = new SaveCancelSection();
|
||||
m_saveCancelSection.getSaveButton().setButtonLabel("Delete");
|
||||
m_saveCancelSection.getSaveButton().setButtonLabel(
|
||||
DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.delete_button"));
|
||||
add(m_saveCancelSection, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
|
||||
return m_saveCancelSection;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param event
|
||||
* @throws FormProcessException
|
||||
*/
|
||||
public void init ( FormSectionEvent event ) throws FormProcessException {
|
||||
|
||||
String sectionTitle = " ";
|
||||
PageState state = event.getPageState();
|
||||
|
||||
DecisionTreeSection section =
|
||||
(DecisionTreeSection)m_selSection.getSelectedObject(state);
|
||||
DecisionTreeSection section = (DecisionTreeSection)
|
||||
m_selSection.getSelectedObject(state);
|
||||
|
||||
if ( section == null ) {
|
||||
log.error("No section selected");
|
||||
} else {
|
||||
m_sectionNameLabel.setLabel(section.getTitle(),state);
|
||||
// Just be be sure, null should never happen because section it
|
||||
// meant to have a title.
|
||||
if (section.getTitle() != null) sectionTitle = section.getTitle();
|
||||
}
|
||||
m_sectionNameValue[0] = sectionTitle;
|
||||
}
|
||||
|
||||
public void submitted ( FormSectionEvent event ) throws FormProcessException {
|
||||
PageState state = event.getPageState();
|
||||
|
||||
if ( m_saveCancelSection.getCancelButton().isSelected(state) ) {
|
||||
throw new FormProcessException( (String) DecisionTreeUtil.globalize("tree_section.submission_cancelled").localize());
|
||||
throw new FormProcessException( (String)
|
||||
DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.form.submission_cancelled")
|
||||
.localize());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -121,6 +149,6 @@ public class DecisionTreeSectionDeleteForm extends Form
|
|||
|
||||
article.removeSection(section);
|
||||
|
||||
log.info("section " + m_selSection.getSelectedKey(state) + " delete");
|
||||
log.debug("section " + m_selSection.getSelectedKey(state) + " delete");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,11 +38,10 @@ import com.arsdigita.bebop.event.FormSubmissionListener;
|
|||
import com.arsdigita.bebop.form.TextField;
|
||||
import com.arsdigita.bebop.parameters.BigDecimalParameter;
|
||||
import com.arsdigita.bebop.parameters.NotEmptyValidationListener;
|
||||
import com.arsdigita.bebop.parameters.StringIsLettersOrDigitsValidationListener;
|
||||
import com.arsdigita.bebop.parameters.TrimmedStringParameter;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTree;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSection;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.TextAsset;
|
||||
import com.arsdigita.cms.ui.CMSDHTMLEditor;
|
||||
|
|
@ -51,7 +50,7 @@ import com.arsdigita.util.UncheckedWrapperException;
|
|||
|
||||
|
||||
/**
|
||||
* Form to edit a TreeSection for a DecisionTree.
|
||||
* Form to edit a Section of a DecisionTree.
|
||||
*
|
||||
* @author Carsten Clasohm
|
||||
* @version $Id$
|
||||
|
|
@ -69,7 +68,7 @@ public class DecisionTreeSectionEditForm extends Form
|
|||
|
||||
private BigDecimalParameter m_instructionsParam;
|
||||
private ItemSelectionModel m_selInstructions;
|
||||
private DecisionTreeViewSections m_container;
|
||||
private DecisionTreeSectionStep m_container;
|
||||
|
||||
private SaveCancelSection m_saveCancelSection;
|
||||
|
||||
|
|
@ -80,7 +79,7 @@ public class DecisionTreeSectionEditForm extends Form
|
|||
private static final String INSTRUCTIONS_PARAM = "instructionsParam";
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* Constructor creates an emnpty section form.
|
||||
*
|
||||
* @param selTree the current article
|
||||
* @param selSection the current section
|
||||
|
|
@ -90,7 +89,7 @@ public class DecisionTreeSectionEditForm extends Form
|
|||
this(selTree, selSection, null);
|
||||
}
|
||||
/**
|
||||
* Constructor.
|
||||
* Constructor creates an emnpty section form.
|
||||
*
|
||||
* @param selArticle the current article
|
||||
* @param selSection the current section
|
||||
|
|
@ -98,7 +97,7 @@ public class DecisionTreeSectionEditForm extends Form
|
|||
*/
|
||||
public DecisionTreeSectionEditForm(ItemSelectionModel selTree,
|
||||
ItemSelectionModel selSection,
|
||||
DecisionTreeViewSections container) {
|
||||
DecisionTreeSectionStep container) {
|
||||
super("SectionEditForm", new ColumnPanel(2));
|
||||
m_selTree = selTree;
|
||||
m_selSection = selSection;
|
||||
|
|
@ -150,18 +149,21 @@ public class DecisionTreeSectionEditForm extends Form
|
|||
* Add form widgets for a Section.
|
||||
*/
|
||||
protected void addWidgets() {
|
||||
add(new Label(DecisionTreeUtil.globalize("form_label.title")));
|
||||
add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.form.title_label")));
|
||||
TextField titleWidget = new TextField(new TrimmedStringParameter(TITLE));
|
||||
titleWidget.addValidationListener(new NotEmptyValidationListener());
|
||||
add(titleWidget);
|
||||
|
||||
add(new Label(DecisionTreeUtil.globalize("form_label.parameter_name")));
|
||||
add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.form.parameter_name_label")));
|
||||
TextField parameterWidget = new TextField(new TrimmedStringParameter(PARAMETER_NAME));
|
||||
parameterWidget.addValidationListener(new NotEmptyValidationListener());
|
||||
parameterWidget.addValidationListener(new DecisionTreeParameterNameValidationListener());
|
||||
add(parameterWidget);
|
||||
|
||||
add(new Label(DecisionTreeUtil.globalize("form_label.instructions")),
|
||||
add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.form.instructions_label")),
|
||||
ColumnPanel.LEFT | ColumnPanel.FULL_WIDTH);
|
||||
CMSDHTMLEditor textWidget =
|
||||
new CMSDHTMLEditor(new TrimmedStringParameter(INSTRUCTIONS));
|
||||
|
|
@ -217,11 +219,11 @@ public class DecisionTreeSectionEditForm extends Form
|
|||
if ( m_saveCancelSection.getCancelButton()
|
||||
.isSelected(state) && m_container != null) {
|
||||
m_container.onlyShowComponent(
|
||||
state, DecisionTreeViewSections.SECTION_TABLE +
|
||||
state, DecisionTreeSectionStep.SECTION_TABLE +
|
||||
m_container.getTypeIDStr());
|
||||
throw new FormProcessException(
|
||||
(String)DecisionTreeUtil
|
||||
.globalize("tree_section.submission_cancelled")
|
||||
(String)DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.form.submission_cancelled")
|
||||
.localize());
|
||||
}
|
||||
}
|
||||
|
|
@ -273,7 +275,7 @@ public class DecisionTreeSectionEditForm extends Form
|
|||
if ( m_container != null) {
|
||||
m_container.onlyShowComponent(
|
||||
state,
|
||||
DecisionTreeViewSections.SECTION_TABLE +
|
||||
DecisionTreeSectionStep.SECTION_TABLE +
|
||||
m_container.getTypeIDStr());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,15 +32,14 @@ import com.arsdigita.bebop.event.PrintEvent;
|
|||
import com.arsdigita.bebop.event.PrintListener;
|
||||
import com.arsdigita.bebop.event.TableActionEvent;
|
||||
import com.arsdigita.bebop.event.TableActionListener;
|
||||
import com.arsdigita.bebop.table.TableColumn;
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTree;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSection;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.SecurityManager;
|
||||
import com.arsdigita.cms.contenttypes.ui.ResettableContainer;
|
||||
import com.arsdigita.cms.dispatcher.Utilities;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.util.Assert;
|
||||
|
||||
|
|
@ -54,7 +53,7 @@ import com.arsdigita.util.Assert;
|
|||
* @author Carsten Clasohm
|
||||
* @version $Id$
|
||||
*/
|
||||
public class DecisionTreeViewSections extends ResettableContainer
|
||||
public class DecisionTreeSectionStep extends ResettableContainer
|
||||
{
|
||||
/** id keys for each editing panel */
|
||||
public static final String SECTION_TABLE = "sec_tbl";
|
||||
|
|
@ -76,7 +75,12 @@ public class DecisionTreeViewSections extends ResettableContainer
|
|||
|
||||
private String m_typeIDStr;
|
||||
|
||||
public DecisionTreeViewSections (ItemSelectionModel selTree,
|
||||
/**
|
||||
*
|
||||
* @param selTree
|
||||
* @param wizard
|
||||
*/
|
||||
public DecisionTreeSectionStep (ItemSelectionModel selTree,
|
||||
AuthoringKitWizard wizard) {
|
||||
super();
|
||||
m_selTree = selTree;
|
||||
|
|
@ -110,24 +114,24 @@ public class DecisionTreeViewSections extends ResettableContainer
|
|||
|
||||
m_sectionTable.setSectionModel(m_selSection);
|
||||
|
||||
Label emptyView = new Label(DecisionTreeUtil
|
||||
.globalize("tree_sections.no_sections_yet"));
|
||||
Label emptyView = new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.no_sections_yet"));
|
||||
m_sectionTable.setEmptyView(emptyView);
|
||||
|
||||
// handle clicks to delete a Section
|
||||
// handle clicks to edit, delete or make a Section first
|
||||
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();
|
||||
|
||||
if (DecisionTreeSectionTable.COL_DEL.equals(colName)) {
|
||||
int col = event.getColumn();
|
||||
if ( col == DecisionTreeSectionTable.COL_IDX_DEL ) {
|
||||
onlyShowComponent(state, SECTION_DEL+m_typeIDStr);
|
||||
} else if (DecisionTreeSectionTable.COL_EDIT.equals(colName)) {
|
||||
|
||||
} else if ( col == DecisionTreeSectionTable.COL_IDX_EDIT ) {
|
||||
onlyShowComponent(state, SECTION_EDIT+m_typeIDStr);
|
||||
} else if (DecisionTreeSectionTable.COL_FIRST.equals(colName)) {
|
||||
|
||||
} else if ( col == DecisionTreeSectionTable.COL_IDX_FIRST ) {
|
||||
DecisionTree tree = (DecisionTree)m_selTree
|
||||
.getSelectedObject(state);
|
||||
DecisionTreeSection section = (DecisionTreeSection)m_selSection
|
||||
|
|
@ -164,11 +168,11 @@ public class DecisionTreeViewSections extends ResettableContainer
|
|||
Label label = (Label)event.getTarget();
|
||||
|
||||
if (m_selSection.getSelectedKey(state) == null) {
|
||||
label.setLabel(DecisionTreeUtil
|
||||
.globalize("tree_sections.add_section"));
|
||||
label.setLabel(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.add"));
|
||||
} else {
|
||||
label.setLabel(DecisionTreeUtil
|
||||
.globalize("tree_sections.edit_section"));
|
||||
label.setLabel(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.edit"));
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
|
@ -194,7 +198,8 @@ public class DecisionTreeViewSections extends ResettableContainer
|
|||
c.setBorderColor("#FFFFFF");
|
||||
c.setPadColor("#FFFFFF");
|
||||
|
||||
c.add(new Label(DecisionTreeUtil.globalize("tree_sections.delete_section")));
|
||||
c.add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.delete")));
|
||||
m_sectionDelete = new DecisionTreeSectionDeleteForm(m_selTree, m_selSection);
|
||||
m_sectionDelete.addSubmissionListener ( new FormSubmissionListener () {
|
||||
public void submitted ( FormSectionEvent e ) {
|
||||
|
|
@ -213,8 +218,8 @@ public class DecisionTreeViewSections extends ResettableContainer
|
|||
* Utility method to create a link to display the section list.
|
||||
*/
|
||||
protected ActionLink buildViewAllLink () {
|
||||
ActionLink viewAllLink = new ActionLink(DecisionTreeUtil
|
||||
.globalize("tree_sections.view_all_sections"));
|
||||
ActionLink viewAllLink = new ActionLink(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.view_all"));
|
||||
viewAllLink.setClassAttr(ACTION_LINK);
|
||||
viewAllLink.addActionListener( new ActionListener() {
|
||||
public void actionPerformed ( ActionEvent event ) {
|
||||
|
|
@ -229,11 +234,11 @@ public class DecisionTreeViewSections extends ResettableContainer
|
|||
* Utility method to create a link to display the section list.
|
||||
*/
|
||||
protected ActionLink buildAddLink () {
|
||||
ActionLink addLink = new ActionLink(DecisionTreeUtil
|
||||
.globalize("tree_sections.add_new_section")) {
|
||||
ActionLink addLink = new ActionLink(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.add_new_label")) {
|
||||
@Override
|
||||
public boolean isVisible(PageState state) {
|
||||
SecurityManager sm = Utilities.getSecurityManager(state);
|
||||
SecurityManager sm = CMS.getSecurityManager(state);
|
||||
ContentItem item = (ContentItem)m_selTree.getSelectedObject(state);
|
||||
|
||||
return super.isVisible(state) &&
|
||||
|
|
@ -19,8 +19,6 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.bebop.ControlLink;
|
||||
import com.arsdigita.bebop.Label;
|
||||
|
|
@ -31,30 +29,35 @@ import com.arsdigita.bebop.table.TableColumn;
|
|||
import com.arsdigita.bebop.table.TableColumnModel;
|
||||
import com.arsdigita.bebop.table.TableModel;
|
||||
import com.arsdigita.bebop.table.TableModelBuilder;
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTree;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSection;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSectionCollection;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.SecurityManager;
|
||||
import com.arsdigita.cms.dispatcher.Utilities;
|
||||
import com.arsdigita.util.LockableImpl;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
|
||||
/**
|
||||
* A table that displays the sections for the currently
|
||||
* selected DecisionTree.
|
||||
* A table that displays the sections for the currently selected DecisionTree.
|
||||
*
|
||||
* If no sections are created / exists, it prints an empty section statement
|
||||
* and a link to add new sections. Otherwise
|
||||
*
|
||||
* @author Carsten Clasohm
|
||||
* @version $Id$
|
||||
*/
|
||||
public class DecisionTreeSectionTable extends Table
|
||||
{
|
||||
// column headings
|
||||
public static final String COL_TITLE = "Section";
|
||||
public static final String COL_EDIT = "Edit";
|
||||
public static final String COL_DEL = "Delete";
|
||||
public static final String COL_FIRST = "First Section?";
|
||||
public class DecisionTreeSectionTable extends Table {
|
||||
|
||||
// match columns by (symbolic) index, makes for easier reordering
|
||||
public static final int COL_IDX_TITLE = 0; // title section
|
||||
public static final int COL_IDX_EDIT = 1; // edit section link
|
||||
public static final int COL_IDX_DEL = 2; // delete section link
|
||||
public static final int COL_IDX_FIRST = 3; // first section link
|
||||
|
||||
private ItemSelectionModel m_selTree;
|
||||
|
||||
|
|
@ -72,18 +75,38 @@ public class DecisionTreeSectionTable extends Table
|
|||
m_selTree = selArticle;
|
||||
|
||||
TableColumnModel model = getColumnModel();
|
||||
model.add( new TableColumn(0, COL_TITLE));
|
||||
model.add( new TableColumn(1, COL_EDIT));
|
||||
model.add( new TableColumn(2, COL_DEL));
|
||||
model.add( new TableColumn(3, COL_FIRST));
|
||||
model.add( new TableColumn(
|
||||
COL_IDX_TITLE,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.table.header_section")
|
||||
) ));
|
||||
model.add( new TableColumn(
|
||||
COL_IDX_EDIT,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.table.header_edit")
|
||||
) ));
|
||||
model.add( new TableColumn(
|
||||
COL_IDX_DEL,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.table.header_delete")
|
||||
) ));
|
||||
model.add( new TableColumn(
|
||||
COL_IDX_FIRST,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.table.header_first_section")
|
||||
) ));
|
||||
|
||||
model.get(1).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
model.get(2).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
model.get(3).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
model.get(COL_IDX_EDIT).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
model.get(COL_IDX_DEL).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
model.get(COL_IDX_FIRST).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
|
||||
setModelBuilder(new SectionTableModelBuilder(m_selTree));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param selSection
|
||||
*/
|
||||
public void setSectionModel ( ItemSelectionModel selSection ) {
|
||||
if ( selSection == null ) {
|
||||
s_log.warn("null item model");
|
||||
|
|
@ -94,37 +117,49 @@ public class DecisionTreeSectionTable extends Table
|
|||
* The model builder to generate a suitable model for the SectionTable
|
||||
*/
|
||||
protected class SectionTableModelBuilder extends LockableImpl
|
||||
implements TableModelBuilder
|
||||
{
|
||||
implements TableModelBuilder {
|
||||
|
||||
protected ItemSelectionModel m_selTree;
|
||||
|
||||
/**
|
||||
* Internal class constructor.
|
||||
*/
|
||||
public SectionTableModelBuilder (ItemSelectionModel selTree) {
|
||||
m_selTree = selTree;
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal class worker method.
|
||||
*
|
||||
* @param table
|
||||
* @param state
|
||||
* @return
|
||||
*/
|
||||
public TableModel makeModel(Table table, PageState state) {
|
||||
table.getRowSelectionModel().clearSelection(state);
|
||||
|
||||
table.getRowSelectionModel().clearSelection(state);
|
||||
DecisionTree tree = (DecisionTree)m_selTree.getSelectedObject(state);
|
||||
|
||||
return new SectionTableModel(table, state, tree);
|
||||
}
|
||||
}
|
||||
|
||||
protected class SectionTableModel
|
||||
implements TableModel
|
||||
{
|
||||
/**
|
||||
* Internal protected class.
|
||||
*/
|
||||
protected class SectionTableModel implements TableModel {
|
||||
|
||||
private TableColumnModel m_colModel;
|
||||
private DecisionTreeSectionCollection m_sections;
|
||||
private DecisionTreeSection m_section;
|
||||
|
||||
/** Constructor. */
|
||||
/** Internal class' Constructor. */
|
||||
public SectionTableModel (Table table, PageState state, DecisionTree tree) {
|
||||
m_colModel = table.getColumnModel();
|
||||
m_sections = tree.getSections();
|
||||
}
|
||||
|
||||
/** Return the number of columsn this TableModel has. */
|
||||
/** Return the number of columns this TableModel has. */
|
||||
public int getColumnCount () {
|
||||
return m_colModel.size();
|
||||
}
|
||||
|
|
@ -140,27 +175,31 @@ public class DecisionTreeSectionTable 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) ) {
|
||||
if ( columnIndex == COL_IDX_TITLE ) {
|
||||
return m_section.getTitle();
|
||||
} else if ( COL_EDIT.equals(colName) ) {
|
||||
return "edit";
|
||||
} else if ( COL_DEL.equals(colName) ) {
|
||||
return "delete";
|
||||
} else if ( COL_FIRST.equals(colName) ) {
|
||||
} else if ( columnIndex == COL_IDX_EDIT ) {
|
||||
return new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.table.link_edit"));
|
||||
} else if ( columnIndex == COL_IDX_DEL ) {
|
||||
return new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.table.link_delete"));
|
||||
} else if ( columnIndex == COL_IDX_FIRST ) {
|
||||
DecisionTree tree = m_section.getTree();
|
||||
DecisionTreeSection firstSection = tree.getFirstSection();
|
||||
if (firstSection != null && firstSection.getID() == m_section.getID()) {
|
||||
return "";
|
||||
// return anything different from Label to prevent the
|
||||
// construction of a link
|
||||
return null;
|
||||
} else {
|
||||
return "set";
|
||||
return new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.sections.table.link_set_first"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -173,42 +212,61 @@ public class DecisionTreeSectionTable extends Table
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class SectionTableCellRenderer extends LockableImpl
|
||||
implements TableCellRenderer
|
||||
{
|
||||
implements TableCellRenderer {
|
||||
private boolean m_active;
|
||||
|
||||
/**
|
||||
* Internal class constructor.
|
||||
*/
|
||||
public SectionTableCellRenderer () {
|
||||
this(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal class constructor.
|
||||
* @param active
|
||||
*/
|
||||
public SectionTableCellRenderer ( boolean active ) {
|
||||
m_active = active;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param table
|
||||
* @param state
|
||||
* @param value
|
||||
* @param isSelected
|
||||
* @param key
|
||||
* @param row
|
||||
* @param column
|
||||
* @return
|
||||
*/
|
||||
public Component getComponent ( Table table, PageState state,
|
||||
Object value, boolean isSelected,
|
||||
Object key, int row, int column ) {
|
||||
Component ret = null;
|
||||
SecurityManager sm = Utilities.getSecurityManager(state);
|
||||
SecurityManager sm = CMS.getSecurityManager(state);
|
||||
ContentItem item = (ContentItem)m_selTree.getSelectedObject(state);
|
||||
|
||||
boolean active = m_active &&
|
||||
sm.canAccess(state.getRequest(), SecurityManager.EDIT_ITEM,
|
||||
boolean active = m_active && sm.canAccess(state.getRequest(),
|
||||
SecurityManager.EDIT_ITEM,
|
||||
item);
|
||||
|
||||
if (value instanceof Component) {
|
||||
ret = (Component)value;
|
||||
} else {
|
||||
if (value == null) {
|
||||
ret = new Label("", false);
|
||||
} else {
|
||||
} else if (value instanceof Label) {
|
||||
if (active) {
|
||||
ret = new ControlLink(value.toString());
|
||||
ret = new ControlLink( (Component)value );
|
||||
} else {
|
||||
ret = new Label(value.toString());
|
||||
}
|
||||
ret = (Component)value;
|
||||
}
|
||||
} else {
|
||||
// last resort, should never happen
|
||||
ret = (Component)value;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@ import com.arsdigita.bebop.event.FormInitListener;
|
|||
import com.arsdigita.bebop.event.FormProcessListener;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeOptionTarget;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
|
||||
/**
|
||||
|
|
@ -71,7 +71,9 @@ public class DecisionTreeTargetDeleteForm extends Form
|
|||
panel.setColumnWidth(2, "80%");
|
||||
panel.setWidth("100%");
|
||||
|
||||
m_targetMatchValue = new Label("Target Match Value");
|
||||
m_targetMatchValue = new Label(
|
||||
DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.form.delete.target_match_value"));
|
||||
add(m_targetMatchValue, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
|
||||
addSaveCancelSection();
|
||||
|
||||
|
|
@ -82,7 +84,9 @@ public class DecisionTreeTargetDeleteForm extends Form
|
|||
|
||||
protected SaveCancelSection addSaveCancelSection () {
|
||||
m_saveCancelSection = new SaveCancelSection();
|
||||
m_saveCancelSection.getSaveButton().setButtonLabel("Delete");
|
||||
m_saveCancelSection.getSaveButton().setButtonLabel(
|
||||
DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.form.delete.delete_button"));
|
||||
add(m_saveCancelSection, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
|
||||
return m_saveCancelSection;
|
||||
}
|
||||
|
|
@ -102,7 +106,8 @@ public class DecisionTreeTargetDeleteForm extends Form
|
|||
|
||||
if ( m_saveCancelSection.getCancelButton().isSelected(state) ) {
|
||||
throw new FormProcessException( (String)
|
||||
DecisionTreeUtil.globalize("tree_section.submission_cancelled")
|
||||
DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.submission_cancelled")
|
||||
.localize());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,12 +43,12 @@ import com.arsdigita.bebop.form.SingleSelect;
|
|||
import com.arsdigita.bebop.form.TextField;
|
||||
import com.arsdigita.bebop.parameters.NotNullValidationListener;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTree;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSectionOption;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSectionOptionCollection;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeOptionTarget;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSection;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSectionCollection;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
|
||||
/**
|
||||
|
|
@ -68,10 +68,10 @@ public class DecisionTreeTargetEditForm extends Form
|
|||
private ItemSelectionModel m_selTree;
|
||||
private ItemSelectionModel m_selTarget;
|
||||
|
||||
private DecisionTreeViewTargets m_container;
|
||||
private DecisionTreeTargetStep m_container;
|
||||
|
||||
private SaveCancelSection m_saveCancelSection;
|
||||
private SingleSelect m_sectionWidget;
|
||||
// private SingleSelect m_sectionWidget;
|
||||
private SingleSelect m_matchValueWidget;
|
||||
private SingleSelect m_targetSectionWidget;
|
||||
private TextField m_targetURLWidget;
|
||||
|
|
@ -100,7 +100,8 @@ public class DecisionTreeTargetEditForm extends Form
|
|||
*/
|
||||
public DecisionTreeTargetEditForm(ItemSelectionModel selTree,
|
||||
ItemSelectionModel selTarget,
|
||||
DecisionTreeViewTargets container) {
|
||||
DecisionTreeTargetStep container) {
|
||||
|
||||
super("DecisionTreeTargetEditForm", new ColumnPanel(2));
|
||||
m_selTree = selTree;
|
||||
m_selTarget = selTarget;
|
||||
|
|
@ -198,9 +199,12 @@ public class DecisionTreeTargetEditForm extends Form
|
|||
DecisionTreeSectionOptionCollection sectionOptions = tree.getOptions();
|
||||
if (sectionOptions != null) {
|
||||
while (sectionOptions.next()) {
|
||||
DecisionTreeSectionOption sectionOption = sectionOptions.getOption();
|
||||
String label = sectionOption.getSection().getTitle() + " : " + sectionOption.getLabel();
|
||||
Option option = new Option(sectionOption.getID().toString(), label);
|
||||
DecisionTreeSectionOption sectionOption = sectionOptions
|
||||
.getOption();
|
||||
String label = sectionOption.getSection().getTitle() +
|
||||
" : " + sectionOption.getLabel();
|
||||
Option option = new Option(sectionOption.getID().toString(),
|
||||
label);
|
||||
target.addOption(option, state);
|
||||
}
|
||||
sectionOptions.close();
|
||||
|
|
@ -215,7 +219,8 @@ public class DecisionTreeTargetEditForm extends Form
|
|||
FormData data = fse.getFormData();
|
||||
|
||||
if (m_selTarget.getSelectedKey(state) != null) {
|
||||
BigDecimal id = new BigDecimal(m_selTarget.getSelectedKey(state).toString());
|
||||
BigDecimal id = new BigDecimal(m_selTarget.getSelectedKey(state)
|
||||
.toString());
|
||||
DecisionTreeOptionTarget target = new DecisionTreeOptionTarget(id);
|
||||
|
||||
data.put(MATCH_OPTION, target.getMatchOption().getID());
|
||||
|
|
@ -231,10 +236,17 @@ public class DecisionTreeTargetEditForm extends Form
|
|||
* Add form widgets for a Section.
|
||||
*/
|
||||
protected void addWidgets() {
|
||||
Option pleaseSelect = new Option("", (String)DecisionTreeUtil.globalize("form.please_select").localize());
|
||||
Option none = new Option("", (String)DecisionTreeUtil.globalize("form.none").localize());
|
||||
Option pleaseSelect = new Option(
|
||||
"",
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.form.please_select") ));
|
||||
Option none = new Option(
|
||||
"",
|
||||
new Label( DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.form.none")));
|
||||
|
||||
add(new Label(DecisionTreeUtil.globalize("form_label.match_value")));
|
||||
add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.form.match_value")));
|
||||
m_matchValueWidget = new SingleSelect(MATCH_OPTION);
|
||||
m_matchValueWidget.addValidationListener(new NotNullValidationListener());
|
||||
m_matchValueWidget.addOption(pleaseSelect);
|
||||
|
|
@ -251,12 +263,14 @@ public class DecisionTreeTargetEditForm extends Form
|
|||
|
||||
add(m_matchValueWidget);
|
||||
|
||||
add(new Label(DecisionTreeUtil.globalize("form_label.target_url")));
|
||||
add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.form.target_url_label")));
|
||||
m_targetURLWidget = new TextField(TARGET_URL);
|
||||
m_targetURLWidget.setSize(60);
|
||||
add(m_targetURLWidget);
|
||||
|
||||
add(new Label(DecisionTreeUtil.globalize("form_label.target_section")));
|
||||
add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.form.target_section_label")));
|
||||
m_targetSectionWidget = new SingleSelect(TARGET_SECTION);
|
||||
m_targetSectionWidget.addOption(none);
|
||||
|
||||
|
|
@ -276,13 +290,19 @@ public class DecisionTreeTargetEditForm extends Form
|
|||
public final void validate(final FormSectionEvent event)
|
||||
throws FormProcessException {
|
||||
final PageState state = event.getPageState();
|
||||
if ("".equals(m_targetURLWidget.getValue(state)) && "".equals(m_targetSectionWidget.getValue(state))) {
|
||||
String msg = (String) DecisionTreeUtil.globalize("form_validation.target_required").localize();
|
||||
if ("".equals(m_targetURLWidget.getValue(state))
|
||||
&& "".equals(m_targetSectionWidget.getValue(state))) {
|
||||
String msg = (String) DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.form.target_required")
|
||||
.localize();
|
||||
throw new FormProcessException(msg);
|
||||
}
|
||||
|
||||
if (!"".equals(m_targetURLWidget.getValue(state)) && !"".equals(m_targetSectionWidget.getValue(state))) {
|
||||
String msg = (String) DecisionTreeUtil.globalize("form_validation.duplicate_target").localize();
|
||||
if (!"".equals(m_targetURLWidget.getValue(state))
|
||||
&& !"".equals(m_targetSectionWidget.getValue(state))) {
|
||||
String msg = (String) DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.form.duplicate_target")
|
||||
.localize();
|
||||
throw new FormProcessException(msg);
|
||||
}
|
||||
}
|
||||
|
|
@ -300,18 +320,18 @@ public class DecisionTreeTargetEditForm extends Form
|
|||
if ( m_saveCancelSection.getCancelButton()
|
||||
.isSelected(state) && m_container != null) {
|
||||
m_container.onlyShowComponent(
|
||||
state, DecisionTreeViewTargets.TARGET_TABLE +
|
||||
state, DecisionTreeTargetStep.TARGET_TABLE +
|
||||
m_container.getTypeIDStr());
|
||||
throw new FormProcessException(
|
||||
(String)DecisionTreeUtil
|
||||
.globalize("tree_section.submission_cancelled")
|
||||
(String)DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.form.submission_cancelled")
|
||||
.localize());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Called after form has been validated. Create the new DecisionTreeOptionTarget and
|
||||
* assign it to the current DecisionTree.
|
||||
* Called after form has been validated. Create the new
|
||||
* DecisionTreeOptionTarget and assign it to the current DecisionTree.
|
||||
*/
|
||||
public void process(FormSectionEvent event) throws FormProcessException {
|
||||
PageState state = event.getPageState();
|
||||
|
|
@ -344,11 +364,12 @@ public class DecisionTreeTargetEditForm extends Form
|
|||
if (m_container != null) {
|
||||
m_container.onlyShowComponent(
|
||||
state,
|
||||
DecisionTreeViewTargets.TARGET_TABLE +
|
||||
DecisionTreeTargetStep.TARGET_TABLE +
|
||||
m_container.getTypeIDStr());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register(Page p) {
|
||||
super.register(p);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,15 +33,13 @@ import com.arsdigita.bebop.event.PrintEvent;
|
|||
import com.arsdigita.bebop.event.PrintListener;
|
||||
import com.arsdigita.bebop.event.TableActionEvent;
|
||||
import com.arsdigita.bebop.event.TableActionListener;
|
||||
import com.arsdigita.bebop.table.TableColumn;
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTree;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeUtil;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeSection;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.SecurityManager;
|
||||
import com.arsdigita.cms.contenttypes.ui.ResettableContainer;
|
||||
import com.arsdigita.cms.dispatcher.Utilities;
|
||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||
import com.arsdigita.util.Assert;
|
||||
|
||||
|
|
@ -55,7 +53,7 @@ import com.arsdigita.util.Assert;
|
|||
* @author Carsten Clasohm
|
||||
* @version $Id$
|
||||
*/
|
||||
public class DecisionTreeViewTargets extends ResettableContainer
|
||||
public class DecisionTreeTargetStep extends ResettableContainer
|
||||
{
|
||||
/** id keys for each editing panel */
|
||||
public static final String TARGET_TABLE = "tgt_tbl";
|
||||
|
|
@ -82,7 +80,7 @@ public class DecisionTreeViewTargets extends ResettableContainer
|
|||
* @param selTree
|
||||
* @param wizard
|
||||
*/
|
||||
public DecisionTreeViewTargets (ItemSelectionModel selTree,
|
||||
public DecisionTreeTargetStep (ItemSelectionModel selTree,
|
||||
AuthoringKitWizard wizard) {
|
||||
super();
|
||||
m_selTree = selTree;
|
||||
|
|
@ -116,30 +114,20 @@ public class DecisionTreeViewTargets extends ResettableContainer
|
|||
|
||||
m_targetTable.setSectionModel(m_selTarget);
|
||||
|
||||
Label emptyView = new Label(DecisionTreeUtil
|
||||
.globalize("option_targets.no_targets_yet"));
|
||||
Label emptyView = new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.none_yet"));
|
||||
m_targetTable.setEmptyView(emptyView);
|
||||
|
||||
// handle clicks to preview or delete a Section
|
||||
// handle clicks to preview or delete a Target
|
||||
m_targetTable.addTableActionListener (new TableActionListener () {
|
||||
public void cellSelected (TableActionEvent event) {
|
||||
PageState state = event.getPageState();
|
||||
int col = event.getColumn();
|
||||
|
||||
TableColumn col = m_targetTable.getColumnModel()
|
||||
.get(event.getColumn().intValue());
|
||||
String colName = (String)col.getHeaderValue();
|
||||
|
||||
if (DecisionTreeSectionTable.COL_DEL.equals(colName)) {
|
||||
if ( col == DecisionTreeTargetTable.COL_IDX_DEL ) {
|
||||
onlyShowComponent(state, TARGET_DEL+m_typeIDStr);
|
||||
} else if (DecisionTreeSectionTable.COL_EDIT.equals(colName)) {
|
||||
} else if ( col == DecisionTreeTargetTable.COL_IDX_EDIT ) {
|
||||
onlyShowComponent(state, TARGET_EDIT+m_typeIDStr);
|
||||
} else if (DecisionTreeSectionTable.COL_FIRST.equals(colName)) {
|
||||
DecisionTree tree =
|
||||
(DecisionTree)m_selTree.getSelectedObject(state);
|
||||
DecisionTreeSection section =
|
||||
(DecisionTreeSection)m_selTarget.getSelectedItem(state);
|
||||
tree.setFirstSection(section);
|
||||
tree.save();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -147,7 +135,7 @@ public class DecisionTreeViewTargets extends ResettableContainer
|
|||
});
|
||||
c.add(m_targetTable);
|
||||
|
||||
// link to add new section
|
||||
// link to add new target
|
||||
c.add(buildAddLink());
|
||||
|
||||
return c;
|
||||
|
|
@ -170,21 +158,21 @@ public class DecisionTreeViewTargets extends ResettableContainer
|
|||
Label label = (Label)event.getTarget();
|
||||
|
||||
if (m_selTarget.getSelectedKey(state) == null) {
|
||||
label.setLabel(DecisionTreeUtil
|
||||
.globalize("option_targets.add_target"));
|
||||
label.setLabel(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.add"));
|
||||
} else {
|
||||
label.setLabel(DecisionTreeUtil
|
||||
.globalize("option_targets.edit_target"));
|
||||
label.setLabel(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.edit"));
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
||||
// form to edit a Section
|
||||
// form to edit a Target
|
||||
m_targetEdit = new DecisionTreeTargetEditForm(m_selTree, m_selTarget, this);
|
||||
c.add(m_targetEdit);
|
||||
|
||||
c.add(buildViewAllLink());
|
||||
// link to add new section
|
||||
// link to add new target
|
||||
c.add(buildAddLink());
|
||||
|
||||
return c;
|
||||
|
|
@ -192,7 +180,7 @@ public class DecisionTreeViewTargets extends ResettableContainer
|
|||
|
||||
/**
|
||||
* Builds a container to hold the component to confirm
|
||||
* deletion of a section.
|
||||
* deletion of a target.
|
||||
*/
|
||||
protected Container buildTargetDelete () {
|
||||
ColumnPanel c = new ColumnPanel(1);
|
||||
|
|
@ -200,7 +188,8 @@ public class DecisionTreeViewTargets extends ResettableContainer
|
|||
c.setBorderColor("#FFFFFF");
|
||||
c.setPadColor("#FFFFFF");
|
||||
|
||||
c.add(new Label(DecisionTreeUtil.globalize("option_targets.delete_target")));
|
||||
c.add(new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.delete")));
|
||||
m_targetDelete = new DecisionTreeTargetDeleteForm(m_selTree, m_selTarget);
|
||||
m_targetDelete.addSubmissionListener ( new FormSubmissionListener () {
|
||||
public void submitted ( FormSectionEvent e ) {
|
||||
|
|
@ -216,11 +205,12 @@ public class DecisionTreeViewTargets extends ResettableContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Utility method to create a link to display the section list.
|
||||
* Utility method to create a link to display the targets list.
|
||||
*/
|
||||
protected ActionLink buildViewAllLink () {
|
||||
ActionLink viewAllLink = new
|
||||
ActionLink( DecisionTreeUtil.globalize("option_targets.view_all_targets"));
|
||||
ActionLink( DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.view_all"));
|
||||
viewAllLink.setClassAttr(ACTION_LINK);
|
||||
viewAllLink.addActionListener( new ActionListener() {
|
||||
public void actionPerformed ( ActionEvent event ) {
|
||||
|
|
@ -236,15 +226,16 @@ public class DecisionTreeViewTargets extends ResettableContainer
|
|||
*/
|
||||
protected ActionLink buildAddLink () {
|
||||
|
||||
ActionLink addLink = new ActionLink( DecisionTreeUtil
|
||||
.globalize("option_targets.add_new_target")) {
|
||||
ActionLink addLink = new ActionLink( DecisionTreeGlobalizationUtil
|
||||
.globalize("cms.contenttypes.ui.decisiontree.targets.add_new")) {
|
||||
@Override
|
||||
public boolean isVisible(PageState state) {
|
||||
SecurityManager sm = Utilities.getSecurityManager(state);
|
||||
SecurityManager sm = CMS.getSecurityManager(state);
|
||||
ContentItem item = (ContentItem)m_selTree.getSelectedObject(state);
|
||||
|
||||
return super.isVisible(state) &&
|
||||
sm.canAccess(state.getRequest(), SecurityManager.EDIT_ITEM,
|
||||
return super.isVisible(state) && sm.canAccess(
|
||||
state.getRequest(),
|
||||
SecurityManager.EDIT_ITEM,
|
||||
item);
|
||||
|
||||
}
|
||||
|
|
@ -31,12 +31,14 @@ import com.arsdigita.bebop.table.TableColumn;
|
|||
import com.arsdigita.bebop.table.TableColumnModel;
|
||||
import com.arsdigita.bebop.table.TableModel;
|
||||
import com.arsdigita.bebop.table.TableModelBuilder;
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTree;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeOptionTarget;
|
||||
import com.arsdigita.cms.contenttypes.DecisionTreeOptionTargetCollection;
|
||||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
import com.arsdigita.cms.SecurityManager;
|
||||
import com.arsdigita.cms.contenttypes.util.DecisionTreeGlobalizationUtil;
|
||||
import com.arsdigita.cms.dispatcher.Utilities;
|
||||
import com.arsdigita.util.LockableImpl;
|
||||
|
||||
|
|
@ -54,10 +56,10 @@ public class DecisionTreeTargetTable extends Table
|
|||
DecisionTreeTargetTable.class);
|
||||
|
||||
// column headings
|
||||
public static final String COL_SECTION = "Section";
|
||||
public static final String COL_MATCH = "Match";
|
||||
public static final String COL_EDIT = "Edit";
|
||||
public static final String COL_DEL = "Delete";
|
||||
public static final int COL_IDX_SECTION = 0;
|
||||
public static final int COL_IDX_MATCH = 1;
|
||||
public static final int COL_IDX_EDIT = 2;
|
||||
public static final int COL_IDX_DEL = 3;
|
||||
|
||||
private ItemSelectionModel m_selTree;
|
||||
|
||||
|
|
@ -72,13 +74,29 @@ public class DecisionTreeTargetTable extends Table
|
|||
m_selTree = selArticle;
|
||||
|
||||
TableColumnModel model = getColumnModel();
|
||||
model.add(new TableColumn(0, COL_SECTION));
|
||||
model.add(new TableColumn(1, COL_MATCH));
|
||||
model.add(new TableColumn(2, COL_EDIT));
|
||||
model.add(new TableColumn(3, COL_DEL));
|
||||
model.add(new TableColumn(
|
||||
COL_IDX_SECTION,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.table.header_section")
|
||||
) ));
|
||||
model.add(new TableColumn(
|
||||
COL_IDX_MATCH,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.table.header_match")
|
||||
) ));
|
||||
model.add(new TableColumn(
|
||||
COL_IDX_EDIT,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.table.header_edit")
|
||||
) ));
|
||||
model.add(new TableColumn(
|
||||
COL_IDX_DEL,
|
||||
new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.table.header_delete")
|
||||
) ));
|
||||
|
||||
model.get(2).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
model.get(3).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
model.get(COL_IDX_EDIT).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
model.get(COL_IDX_DEL).setCellRenderer(new SectionTableCellRenderer(true));
|
||||
|
||||
setModelBuilder(new OptionTableModelBuilder(m_selTree));
|
||||
}
|
||||
|
|
@ -147,18 +165,20 @@ public class DecisionTreeTargetTable extends Table
|
|||
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_SECTION.equals(colName)) {
|
||||
if ( columnIndex == COL_IDX_SECTION ) {
|
||||
return m_target.getMatchOption().getSection().getTitle();
|
||||
} else if (COL_MATCH.equals(colName)) {
|
||||
} else if ( columnIndex == COL_IDX_MATCH ) {
|
||||
return m_target.getMatchOption().getLabel();
|
||||
} else if (COL_EDIT.equals(colName)) {
|
||||
return "edit";
|
||||
} else if (COL_DEL.equals(colName)) {
|
||||
return "delete";
|
||||
} else if ( columnIndex == COL_IDX_EDIT ) {
|
||||
// return "edit";
|
||||
return new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.table.link_edit")
|
||||
);
|
||||
} else if ( columnIndex == COL_IDX_DEL ) {
|
||||
// return "delete";
|
||||
return new Label(DecisionTreeGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.decisiontree.targets.table.link_delete")
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
|
@ -189,30 +209,39 @@ public class DecisionTreeTargetTable extends Table
|
|||
m_active = active;
|
||||
}
|
||||
|
||||
/** */
|
||||
/**
|
||||
*
|
||||
* @param table
|
||||
* @param state
|
||||
* @param value
|
||||
* @param isSelected
|
||||
* @param key
|
||||
* @param row
|
||||
* @param column
|
||||
* @return
|
||||
*/
|
||||
public Component getComponent(Table table, PageState state,
|
||||
Object value, boolean isSelected,
|
||||
Object key, int row, int column) {
|
||||
Component ret = null;
|
||||
SecurityManager sm = Utilities.getSecurityManager(state);
|
||||
SecurityManager sm = CMS.getSecurityManager(state);
|
||||
ContentItem item = (ContentItem)m_selTree.getSelectedObject(state);
|
||||
|
||||
boolean active = m_active &&
|
||||
sm.canAccess(state.getRequest(), SecurityManager.EDIT_ITEM,
|
||||
boolean active = m_active && sm.canAccess(state.getRequest(),
|
||||
SecurityManager.EDIT_ITEM,
|
||||
item);
|
||||
|
||||
if (value instanceof Component) {
|
||||
ret = (Component)value;
|
||||
} else {
|
||||
if (value == null) {
|
||||
ret = new Label("", false);
|
||||
} else {
|
||||
ret = (Component)value;
|
||||
} else if (value instanceof Label) {
|
||||
if (active) {
|
||||
ret = new ControlLink(value.toString());
|
||||
ret = new ControlLink( (Component)value );
|
||||
} else {
|
||||
ret = new Label(value.toString());
|
||||
}
|
||||
ret = (Component)value;
|
||||
}
|
||||
} else {
|
||||
// last resort, should never happen
|
||||
ret = (Component)value;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
package com.arsdigita.cms.contenttypes;
|
||||
package com.arsdigita.cms.contenttypes.util;
|
||||
|
||||
import com.arsdigita.globalization.Globalized;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
|
@ -31,14 +31,14 @@ import com.arsdigita.globalization.GlobalizedMessage;
|
|||
* @author Carsten Clasohm
|
||||
* @version $Id$
|
||||
*/
|
||||
public class DecisionTreeUtil implements Globalized {
|
||||
public class DecisionTreeGlobalizationUtil implements Globalized {
|
||||
|
||||
/** Name of Java resource files to handle DecisionTree's globalisation. */
|
||||
public static final String BUNDLE_NAME =
|
||||
"com.arsdigita.cms.contenttypes.DecisionTreeResources";
|
||||
|
||||
/**
|
||||
* This returns a globalized message using the package specific bundle,
|
||||
* Returns a globalized message using the package specific bundle,
|
||||
* provided by BUNDLE_NAME.
|
||||
*/
|
||||
public static GlobalizedMessage globalize(String key) {
|
||||
|
|
@ -319,7 +319,8 @@ public class SectionTable extends Table
|
|||
this(false);
|
||||
}
|
||||
|
||||
public SectionTableCellRenderer ( boolean active ) {
|
||||
public SectionTableCellRenderer
|
||||
( boolean active ) {
|
||||
m_active = active;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,18 +31,19 @@ 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.contenttypes.util.SimpleAddressGlobalizationUtil;
|
||||
import com.arsdigita.cms.util.GlobalizationUtil;
|
||||
|
||||
import java.text.DateFormat;
|
||||
|
||||
/**
|
||||
* Authoring step to edit the simple attributes of the SimpleAddress content type
|
||||
* (and its subclasses). This authoring step replaces the
|
||||
* Authoring step to edit the simple attributes of the SimpleAddress content
|
||||
* type (and its subclasses). This authoring step replaces the
|
||||
* <code>com.arsdigita.ui.authoring.PageEdit</code> step for this type.
|
||||
*
|
||||
* @author <a href="mailto:dominik@redhat.com">Dominik Kacprzak</a>
|
||||
* @version $Revision: #6 $ $Date: 2004/08/17 $
|
||||
*
|
||||
**/
|
||||
*/
|
||||
public class SimpleAddressPropertiesStep extends SimpleEditStep {
|
||||
|
||||
/** The name of the editing sheet added to this step */
|
||||
|
|
@ -56,7 +57,8 @@ public class SimpleAddressPropertiesStep extends SimpleEditStep {
|
|||
BasicPageForm editSheet;
|
||||
|
||||
editSheet = new SimpleAddressPropertyForm(itemModel, this);
|
||||
add(EDIT_SHEET_NAME, "Edit",
|
||||
add(EDIT_SHEET_NAME,
|
||||
GlobalizationUtil.globalize("cms.ui.edit"),
|
||||
new WorkflowLockedComponentAccess(editSheet, itemModel),
|
||||
editSheet.getSaveCancelSection().getCancelButton() );
|
||||
|
||||
|
|
@ -76,38 +78,22 @@ public class SimpleAddressPropertiesStep extends SimpleEditStep {
|
|||
itemModel ) {
|
||||
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
|
||||
|
||||
sheet.add( (String) SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.name").localize(),
|
||||
SimpleAddress.NAME );
|
||||
sheet.add( (String) SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.title").localize(),
|
||||
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.title"),
|
||||
SimpleAddress.TITLE);
|
||||
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.name"),
|
||||
SimpleAddress.NAME );
|
||||
if (!ContentSection.getConfig().getHideLaunchDate()) {
|
||||
sheet.add( (String) SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.ui.authoring.page_launch_date").localize(),
|
||||
sheet.add(GlobalizationUtil
|
||||
.globalize("cms.contenttypes.ui.launch_date"),
|
||||
ContentPage.LAUNCH_DATE,
|
||||
new DomainObjectPropertySheet.AttributeFormatter() {
|
||||
public String format(DomainObject item,
|
||||
String attribute,
|
||||
PageState state) {
|
||||
ContentPage page = (ContentPage) item;
|
||||
if (page.getLaunchDate() != null) {
|
||||
return DateFormat.getDateInstance(DateFormat.LONG)
|
||||
.format(page.getLaunchDate());
|
||||
} else {
|
||||
return (String)SimpleAddressGlobalizationUtil
|
||||
.globalize("cms.ui.unknown").localize();
|
||||
new LaunchDateAttributeFormatter() );
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
sheet.add( (String) SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.simpleaddress.address").localize(),
|
||||
sheet.add(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.address"),
|
||||
SimpleAddress.ADDRESS);
|
||||
if (!SimpleAddress.getConfig().getHideCountryCodeSelection()) {
|
||||
sheet.add( (String) SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.simpleaddress.iso_country_code")
|
||||
.localize(),
|
||||
sheet.add(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.iso_country_code"),
|
||||
SimpleAddress.ISO_COUNTRY_CODE,
|
||||
new DomainObjectPropertySheet.AttributeFormatter() {
|
||||
public String format( DomainObject item,
|
||||
|
|
@ -117,37 +103,37 @@ public class SimpleAddressPropertiesStep extends SimpleEditStep {
|
|||
if ( address.getCountryIsoCode() != null ) {
|
||||
return address.getCountryIsoCode();
|
||||
} else {
|
||||
return (String)SimpleAddressGlobalizationUtil
|
||||
.globalize
|
||||
("cms.ui.unknown").localize();
|
||||
return (String)GlobalizationUtil
|
||||
.globalize("cms.ui.unknown")
|
||||
.localize();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
if (!SimpleAddress.getConfig().getHidePostalCode()) {
|
||||
sheet.add( (String) SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.simpleaddress.postal_code").localize(),
|
||||
sheet.add(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.postal_code"),
|
||||
SimpleAddress.POSTAL_CODE);
|
||||
}
|
||||
sheet.add((String) SimpleAddressGlobalizationUtil
|
||||
.globalize("cms.contenttypes.ui.simpleaddress.phone").localize(),
|
||||
sheet.add(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.phone"),
|
||||
SimpleAddress.PHONE);
|
||||
sheet.add((String) SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.simpleaddress.mobile").localize(),
|
||||
sheet.add(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.mobile"),
|
||||
SimpleAddress.MOBILE);
|
||||
sheet.add((String) SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.simpleaddress.fax").localize(),
|
||||
sheet.add(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.fax"),
|
||||
SimpleAddress.FAX);
|
||||
sheet.add((String) SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.simpleaddress.email").localize(),
|
||||
sheet.add(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.email"),
|
||||
SimpleAddress.EMAIL);
|
||||
|
||||
sheet.add((String) SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.simpleaddress.uri").localize(),
|
||||
sheet.add(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.uri"),
|
||||
SimpleAddress.URI);
|
||||
|
||||
sheet.add((String) SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.contenttypes.ui.simpleaddress.notes").localize(),
|
||||
sheet.add(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.notes"),
|
||||
SimpleAddress.NOTES);
|
||||
|
||||
return sheet;
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ import com.arsdigita.cms.contenttypes.SimpleAddress;
|
|||
import com.arsdigita.cms.contenttypes.util.SimpleAddressGlobalizationUtil;
|
||||
import com.arsdigita.cms.contenttypes.IsoCountry;
|
||||
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||
import com.arsdigita.cms.util.GlobalizationUtil;
|
||||
import com.arsdigita.domain.DomainCollection;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
|
|
@ -55,7 +56,7 @@ import org.apache.log4j.Logger;
|
|||
*
|
||||
* @author <a href="mailto:dominik@redhat.com">Dominik Kacprzak</a>
|
||||
* @version $Revision: $ $Date: $
|
||||
**/
|
||||
*/
|
||||
public class SimpleAddressPropertyForm extends BasicPageForm
|
||||
implements FormProcessListener, FormInitListener, FormSubmissionListener {
|
||||
|
||||
|
|
@ -89,9 +90,9 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
* Creates a new form to edit the SimpleAddress object specified by the item
|
||||
* selection model passed in.
|
||||
*
|
||||
* @param itemModel The ItemSelectionModel to use to obtain the SimpleAddress to
|
||||
* work on
|
||||
**/
|
||||
* @param itemModel The ItemSelectionModel to use to obtain the SimpleAddress
|
||||
* to work on
|
||||
*/
|
||||
public SimpleAddressPropertyForm( ItemSelectionModel itemModel ) {
|
||||
this(itemModel,null);
|
||||
}
|
||||
|
|
@ -99,11 +100,12 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
* Creates a new form to edit the SimpleAddress object specified by the item
|
||||
* selection model passed in.
|
||||
*
|
||||
* @param itemModel The ItemSelectionModel to use to obtain the SimpleAddress to
|
||||
* work on
|
||||
* @param itemModel The ItemSelectionModel to use to obtain the SimpleAddress
|
||||
* to work on
|
||||
* @param step The SimpleAddressPropertiesStep which controls this form.
|
||||
**/
|
||||
public SimpleAddressPropertyForm( ItemSelectionModel itemModel, SimpleAddressPropertiesStep step ) {
|
||||
*/
|
||||
public SimpleAddressPropertyForm( ItemSelectionModel itemModel,
|
||||
SimpleAddressPropertiesStep step ) {
|
||||
super( ID, itemModel );
|
||||
m_step = step;
|
||||
addSubmissionListener(this);
|
||||
|
|
@ -111,24 +113,25 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
|
||||
/**
|
||||
* Adds widgets to the form.
|
||||
**/
|
||||
*/
|
||||
@Override
|
||||
protected void addWidgets() {
|
||||
super.addWidgets();
|
||||
|
||||
add( new Label( (String)SimpleAddressGlobalizationUtil.globalize
|
||||
( "cms.contenttypes.ui.simpleaddress.address" ).localize() ) );
|
||||
add( new Label( SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.address" ) ) );
|
||||
ParameterModel addressBodyParam = new StringParameter( ADDRESS );
|
||||
addressBodyParam.addParameterListener( new NotNullValidationListener( ) );
|
||||
addressBodyParam.addParameterListener( new StringInRangeValidationListener(0, 1000) );
|
||||
addressBodyParam.addParameterListener(
|
||||
new StringInRangeValidationListener(0, 1000) );
|
||||
TextArea addressBody = new TextArea( addressBodyParam );
|
||||
addressBody.setRows(5);
|
||||
addressBody.setCols(30);
|
||||
add( addressBody );
|
||||
|
||||
if (!SimpleAddress.getConfig().getHideCountryCodeSelection()) {
|
||||
add( new Label( (String)SimpleAddressGlobalizationUtil.globalize
|
||||
( "cms.contenttypes.ui.simpleaddress.iso_country_code" ).localize() ) );
|
||||
add( new Label(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.iso_country_code") ));
|
||||
ParameterModel isoCountryCodeParam = new StringParameter( ISO_COUNTRY_CODE );
|
||||
//isoCountryCodeParam.addParameterListener( new NotNullValidationListener( ) );
|
||||
// Don't assume submission via drop-down menu isoCountryCode
|
||||
|
|
@ -137,8 +140,8 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
SingleSelect isoCountryCode = new SingleSelect( isoCountryCodeParam );
|
||||
|
||||
isoCountryCode.addOption( new Option( "",
|
||||
new Label( (String)SimpleAddressGlobalizationUtil.globalize
|
||||
("cms.ui.select_one" ).localize() ) ) );
|
||||
new Label(GlobalizationUtil.globalize(
|
||||
"cms.ui.select_one" )) ));
|
||||
|
||||
|
||||
// retrieve country iso codes
|
||||
|
|
@ -158,9 +161,9 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
s_log.debug("ISO code is : " + isoCode);
|
||||
if (isoCode == null || isoCode.length() == 0) {
|
||||
data.addError(
|
||||
(String)SimpleAddressGlobalizationUtil.globalize(
|
||||
SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.error_iso_country")
|
||||
.localize());
|
||||
);
|
||||
}
|
||||
}});
|
||||
|
||||
|
|
@ -168,8 +171,8 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
}
|
||||
|
||||
if (!SimpleAddress.getConfig().getHidePostalCode()) {
|
||||
add( new Label( (String)SimpleAddressGlobalizationUtil.globalize
|
||||
( "cms.contenttypes.ui.simpleaddress.postal_code" ).localize() ) );
|
||||
add( new Label(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.postal_code") ) );
|
||||
ParameterModel postalCodeParam = new StringParameter( POSTAL_CODE );
|
||||
// postalCodeParam.addParameterListener( new NotNullValidationListener( ) );
|
||||
postalCodeParam.addParameterListener(
|
||||
|
|
@ -188,8 +191,8 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
phone.setMaxLength( 20 );
|
||||
add( phone );
|
||||
|
||||
add( new Label( (String)SimpleAddressGlobalizationUtil.globalize
|
||||
( "cms.contenttypes.ui.simpleaddress.mobile" ).localize() ) );
|
||||
add( new Label(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.mobile" ) ) );
|
||||
ParameterModel mobileParam = new StringParameter( MOBILE );
|
||||
mobileParam.addParameterListener( new StringInRangeValidationListener(0, 20) );
|
||||
TextField mobile = new TextField( mobileParam );
|
||||
|
|
@ -197,8 +200,8 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
mobile.setMaxLength( 20 );
|
||||
add( mobile );
|
||||
|
||||
add( new Label( (String)SimpleAddressGlobalizationUtil.globalize
|
||||
( "cms.contenttypes.ui.simpleaddress.fax" ).localize() ) );
|
||||
add( new Label(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.fax") ) );
|
||||
ParameterModel faxParam = new StringParameter( FAX );
|
||||
faxParam.addParameterListener( new StringInRangeValidationListener(0, 20) );
|
||||
TextField fax = new TextField( faxParam );
|
||||
|
|
@ -206,8 +209,8 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
fax.setMaxLength( 20 );
|
||||
add( fax );
|
||||
|
||||
add( new Label( (String)SimpleAddressGlobalizationUtil.globalize
|
||||
( "cms.contenttypes.ui.simpleaddress.email" ).localize() ) );
|
||||
add( new Label(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.email" ) ) );
|
||||
ParameterModel emailParam = new StringParameter( EMAIL );
|
||||
emailParam.addParameterListener( new StringInRangeValidationListener(0, 75) );
|
||||
TextField email = new TextField( emailParam );
|
||||
|
|
@ -218,12 +221,11 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
.localize().toString());
|
||||
add( email );
|
||||
add(new Label(""));
|
||||
add(new Label( (String)SimpleAddressGlobalizationUtil.globalize
|
||||
( "cms.contenttypes.ui.simpleaddress.email_desc" )
|
||||
.localize() ) );
|
||||
add(new Label(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.email_desc") ) );
|
||||
|
||||
add( new Label( (String)SimpleAddressGlobalizationUtil.globalize
|
||||
( "cms.contenttypes.ui.simpleaddress.uri" ).localize() ) );
|
||||
add( new Label(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.uri") ) );
|
||||
ParameterModel uriParam = new StringParameter( URI );
|
||||
uriParam.addParameterListener( new StringInRangeValidationListener(0,250) );
|
||||
TextField uri = new TextField( uriParam );
|
||||
|
|
@ -245,11 +247,11 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
.localize().toString());
|
||||
add( uri );
|
||||
add(new Label(""));
|
||||
add(new Label((String)SimpleAddressGlobalizationUtil.globalize
|
||||
( "cms.contenttypes.ui.simpleaddress.uri_desc" ).localize() ) );
|
||||
add(new Label(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.uri_desc") ) );
|
||||
|
||||
add( new Label( (String)SimpleAddressGlobalizationUtil.globalize
|
||||
( "cms.contenttypes.ui.simpleaddress.notes" ).localize() ) );
|
||||
add( new Label(SimpleAddressGlobalizationUtil.globalize(
|
||||
"cms.contenttypes.ui.simpleaddress.notes") ) );
|
||||
ParameterModel notesParam = new StringParameter( NOTES );
|
||||
TextArea notes = new TextArea( notesParam );
|
||||
notes.setRows(8);
|
||||
|
|
@ -259,7 +261,7 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
|
||||
/**
|
||||
* Form initialization hook. Fills widgets with data.
|
||||
**/
|
||||
*/
|
||||
public void init(FormSectionEvent fse) {
|
||||
FormData data = fse.getFormData();
|
||||
SimpleAddress address = ( SimpleAddress ) super.initBasicWidgets(fse);
|
||||
|
|
@ -301,7 +303,7 @@ public class SimpleAddressPropertyForm extends BasicPageForm
|
|||
|
||||
/**
|
||||
* Form processing hook. Saves SimpleAddress object.
|
||||
**/
|
||||
*/
|
||||
public void process(FormSectionEvent fse) {
|
||||
FormData data = fse.getFormData();
|
||||
|
||||
|
|
|
|||
|
|
@ -283,7 +283,7 @@ cms.ui.authoring.remove_image=Bild entfernen
|
|||
cms.ui.authoring.select_an_existing_image=Vorhandenes Bild ausw\u00c4hlen
|
||||
cms.ui.authoring.sql_error_in_getting_byte_content=SQL Fehler beim Holen von Bin\u00e4rinhalt!
|
||||
cms.ui.authoring.sqle=SQLE
|
||||
cms.ui.authoring.steps=Authoring steps
|
||||
cms.ui.authoring.steps=Bearbeitungsschritte
|
||||
cms.ui.authoring.submission_cancelled=Submission Cancelled
|
||||
cms.ui.authoring.text_type=Art des Textes:
|
||||
cms.ui.authoring.this_article_does_not_have_an_image=Dieser Artikel hat kein Bild.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.arsdigita.cms.contenttypes.ui;
|
||||
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.cms.ContentPage;
|
||||
import com.arsdigita.cms.ContentSection;
|
||||
import com.arsdigita.cms.ItemSelectionModel;
|
||||
|
|
@ -8,7 +7,6 @@ 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.domain.DomainObject;
|
||||
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
|
||||
import com.arsdigita.cms.util.GlobalizationUtil;
|
||||
import com.arsdigita.bebop.Component;
|
||||
|
|
@ -17,7 +15,6 @@ import com.arsdigita.bebop.SegmentedPanel;
|
|||
import com.arsdigita.cms.contenttypes.GenericContact;
|
||||
import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@ import com.arsdigita.toolbox.ui.Section;
|
|||
import com.arsdigita.util.Assert;
|
||||
import com.arsdigita.util.SequentialMap;
|
||||
import com.arsdigita.util.UncheckedWrapperException;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
|
|
|
|||
|
|
@ -251,7 +251,7 @@ class ContactPhonesTable extends Table implements TableActionListener {
|
|||
}
|
||||
|
||||
} else {
|
||||
/* Just returns the label without underlying link */
|
||||
/* Just returns the object as a componment */
|
||||
ret = (Component)value;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue