incorporate several APLAWS patches for ccm-ldn-atoz:
r1741: Changed AtoZ to not hide a category when an alias has been defined for it; changed AtoZ to allow more than one alias to be defined for a category r1742: Added Category name in CategoryProviderAliasList.generateXML() r1743: Fixed AtoZCategoryAlias.getCategory() r1744: Changed CategoryProviderAliasForm to use the Ajax category tree r1747: Relaxed version requirements for ccm-ldn-aplaws r1750: Added AtoZCategoryProvider.excludeBlackListTypes() 1751: Bumped version (release) number git-svn-id: https://svn.libreccm.org/ccm/trunk@65 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
08ebde26fe
commit
712e43d266
|
|
@ -9,5 +9,6 @@
|
|||
<classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-terms"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-util"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/ccm-cms-types-siteproxy"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-aplaws"/>
|
||||
<classpathentry kind="output" path="build/Eclipse"/>
|
||||
</classpath>
|
||||
|
|
|
|||
|
|
@ -2,11 +2,12 @@
|
|||
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
|
||||
name="ccm-ldn-atoz"
|
||||
prettyName="A-Z"
|
||||
version="6.5.0"
|
||||
release="2">
|
||||
version="6.6.0"
|
||||
release="4">
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.2.0" relation="ge"/>
|
||||
<ccm:requires name="ccm-cms" version="6.2.0" relation="ge"/>
|
||||
<ccm:requires name="ccm-ldn-aplaws" version="6.4.0" relation="ge"/>
|
||||
<ccm:requires name="ccm-ldn-util" version="6.2.0" relation="ge"/>
|
||||
<ccm:requires name="ccm-ldn-terms" version="6.2.0" relation="ge"/>
|
||||
<ccm:requires name="ccm-ldn-navigation" version="6.2.0" relation="ge"/>
|
||||
|
|
|
|||
|
|
@ -26,6 +26,18 @@ object type AtoZCategoryProvider extends AtoZProvider {
|
|||
reference key (atoz_cat_provider.provider_id);
|
||||
}
|
||||
|
||||
object type AtoZCategoryAlias {
|
||||
BigDecimal[1..1] id = atoz_cat_aliases.object_id;
|
||||
|
||||
Category[1..1] category =
|
||||
join atoz_cat_aliases.category_id to cat_categories.category_id;
|
||||
|
||||
String[1..1] letter = atoz_cat_aliases.letter CHAR(1);
|
||||
String[1..1] title = atoz_cat_aliases.title VARCHAR(200);
|
||||
|
||||
object key (id);
|
||||
}
|
||||
|
||||
association {
|
||||
AtoZCategoryProvider[0..n] atozProvider1 = join cat_categories.category_id
|
||||
to atoz_cat_blacklist_map.category_id,
|
||||
|
|
@ -38,16 +50,12 @@ association {
|
|||
}
|
||||
|
||||
association {
|
||||
AtoZCategoryProvider[0..n] atozProvider2 = join cat_categories.category_id
|
||||
to atoz_cat_alias_map.category_id,
|
||||
join atoz_cat_alias_map.provider_id
|
||||
to atoz_cat_provider.provider_id;
|
||||
Category[0..n] atozAliases = join atoz_cat_provider.provider_id
|
||||
to atoz_cat_alias_map.provider_id,
|
||||
join atoz_cat_alias_map.category_id
|
||||
to cat_categories.category_id;
|
||||
String[1..1] letter = atoz_cat_alias_map.letter CHAR(1);
|
||||
String[1..1] title = atoz_cat_alias_map.title VARCHAR(200);
|
||||
AtoZCategoryProvider[1..1] provider =
|
||||
join atoz_cat_aliases.provider_id
|
||||
to atoz_cat_provider.provider_id;
|
||||
component AtoZCategoryAlias[0..n] aliases =
|
||||
join atoz_cat_provider.provider_id
|
||||
to atoz_cat_aliases.provider_id;
|
||||
}
|
||||
|
||||
association {
|
||||
|
|
@ -100,12 +108,6 @@ query getAtomicCategoryEntries {
|
|||
where b.category_id = c.category_id
|
||||
and b.provider_id = :providerID
|
||||
)
|
||||
and not exists (
|
||||
select 1
|
||||
from atoz_cat_alias_map b
|
||||
where b.category_id = c.category_id
|
||||
and b.provider_id = :providerID
|
||||
)
|
||||
and not exists (
|
||||
select 1
|
||||
from atoz_cat_ct_blacklist_map b, cat_object_category_map m,
|
||||
|
|
@ -121,16 +123,16 @@ query getAtomicCategoryEntries {
|
|||
union
|
||||
select c.category_id as id,
|
||||
a.object_type as object_type,
|
||||
m.title as title,
|
||||
ca.title as title,
|
||||
c.description as description,
|
||||
lower(m.letter) as sort_key
|
||||
lower(ca.letter) as sort_key
|
||||
from cat_categories c,
|
||||
acs_objects a,
|
||||
atoz_cat_alias_map m
|
||||
where c.category_id = m.category_id
|
||||
atoz_cat_aliases ca
|
||||
where c.category_id = ca.category_id
|
||||
and c.category_id = a.object_id
|
||||
and c.enabled_p = '1'
|
||||
and m.provider_id = :providerID
|
||||
and ca.provider_id = :providerID
|
||||
} map {
|
||||
id = id;
|
||||
objectType = object_type;
|
||||
|
|
@ -178,12 +180,6 @@ query getAtomicCategoryEntriesForRootCategory {
|
|||
)
|
||||
and i2.subcategory_id = c.category_id
|
||||
)
|
||||
and not exists (
|
||||
select 1
|
||||
from atoz_cat_alias_map b
|
||||
where b.category_id = c.category_id
|
||||
and b.provider_id = :providerID
|
||||
)
|
||||
and not exists (
|
||||
select 1
|
||||
from atoz_cat_ct_blacklist_map b, cat_object_category_map m,
|
||||
|
|
@ -199,16 +195,16 @@ query getAtomicCategoryEntriesForRootCategory {
|
|||
union
|
||||
select c.category_id as id,
|
||||
a.object_type as object_type,
|
||||
m.title as title,
|
||||
ca.title as title,
|
||||
c.description as description,
|
||||
lower(m.letter) as sort_key
|
||||
lower(ca.letter) as sort_key
|
||||
from cat_categories c,
|
||||
acs_objects a,
|
||||
atoz_cat_alias_map m
|
||||
where c.category_id = m.category_id
|
||||
atoz_cat_aliases ca
|
||||
where c.category_id = ca.category_id
|
||||
and c.category_id = a.object_id
|
||||
and c.enabled_p = '1'
|
||||
and m.provider_id = :providerID
|
||||
and ca.provider_id = :providerID
|
||||
} map {
|
||||
id = id;
|
||||
objectType = object_type;
|
||||
|
|
@ -257,12 +253,6 @@ query getAtomicFilteredCategoryEntries {
|
|||
where b.category_id = c.category_id
|
||||
and b.provider_id = :providerID
|
||||
)
|
||||
and not exists (
|
||||
select 1
|
||||
from atoz_cat_alias_map b
|
||||
where b.category_id = c.category_id
|
||||
and b.provider_id = :providerID
|
||||
)
|
||||
and not exists (
|
||||
select 1
|
||||
from atoz_cat_ct_blacklist_map b, cat_object_category_map m,
|
||||
|
|
@ -283,16 +273,16 @@ query getAtomicFilteredCategoryEntries {
|
|||
union
|
||||
select c.category_id as id,
|
||||
a.object_type as object_type,
|
||||
m.title as title,
|
||||
ca.title as title,
|
||||
c.description as description,
|
||||
lower(m.letter) as sort_key
|
||||
lower(ca.letter) as sort_key
|
||||
from cat_categories c,
|
||||
acs_objects a,
|
||||
atoz_cat_alias_map m
|
||||
where c.category_id = m.category_id
|
||||
atoz_cat_aliases ca
|
||||
where c.category_id = ca.category_id
|
||||
and c.category_id = a.object_id
|
||||
and c.enabled_p = '1'
|
||||
and m.provider_id = :providerID
|
||||
and ca.provider_id = :providerID
|
||||
} map {
|
||||
id = id;
|
||||
objectType = object_type;
|
||||
|
|
@ -338,12 +328,6 @@ query getAtomicFilteredCategoryEntriesForRootCategory {
|
|||
)
|
||||
and i2.subcategory_id = c.category_id
|
||||
)
|
||||
and not exists (
|
||||
select 1
|
||||
from atoz_cat_alias_map b
|
||||
where b.category_id = c.category_id
|
||||
and b.provider_id = :providerID
|
||||
)
|
||||
and not exists (
|
||||
select 1
|
||||
from atoz_cat_ct_blacklist_map b, cat_object_category_map m,
|
||||
|
|
@ -364,16 +348,16 @@ query getAtomicFilteredCategoryEntriesForRootCategory {
|
|||
union
|
||||
select c.category_id as id,
|
||||
a.object_type as object_type,
|
||||
m.title as title,
|
||||
ca.title as title,
|
||||
c.description as description,
|
||||
lower(m.letter) as sort_key
|
||||
lower(ca.letter) as sort_key
|
||||
from cat_categories c,
|
||||
acs_objects a,
|
||||
atoz_cat_alias_map m
|
||||
where c.category_id = m.category_id
|
||||
atoz_cat_aliases ca
|
||||
where c.category_id = ca.category_id
|
||||
and c.category_id = a.object_id
|
||||
and c.enabled_p = '1'
|
||||
and m.provider_id = :providerID
|
||||
and ca.provider_id = :providerID
|
||||
} map {
|
||||
id = id;
|
||||
objectType = object_type;
|
||||
|
|
|
|||
|
|
@ -105,6 +105,15 @@
|
|||
<xrd:property name="/object/displayName"/>
|
||||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
|
||||
<xrd:adapter objectType="com.arsdigita.london.atoz.AtoZCategoryAlias">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/objectType"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
</xrd:context>
|
||||
|
||||
<xrd:context name="com.arsdigita.london.atoz.ui.admin.ItemProviderAliasList">
|
||||
|
|
@ -118,6 +127,7 @@
|
|||
-->
|
||||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
|
||||
<xrd:adapter objectType="com.arsdigita.london.atoz.AtoZItemAlias">
|
||||
<xrd:attributes rule="exclude">
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -8,4 +8,7 @@
|
|||
<version from="6.3.0" to="6.3.1">
|
||||
<script sql="ccm-ldn-atoz/upgrade/::database::-6.3.0-6.3.1.sql"/>
|
||||
</version>
|
||||
<version from="6.5.0" to="6.6.0">
|
||||
<script sql="ccm-ldn-atoz/upgrade/::database::-6.5.0-6.6.0.sql"/>
|
||||
</version>
|
||||
</upgrade>
|
||||
|
|
|
|||
|
|
@ -18,9 +18,12 @@
|
|||
|
||||
package com.arsdigita.london.atoz;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.arsdigita.categorization.Category;
|
||||
import com.arsdigita.cms.ContentType;
|
||||
import com.arsdigita.domain.DomainCollection;
|
||||
import com.arsdigita.london.navigation.DataCollectionDefinition;
|
||||
import com.arsdigita.london.subsite.Site;
|
||||
import com.arsdigita.london.subsite.Subsite;
|
||||
import com.arsdigita.london.subsite.SubsiteContext;
|
||||
|
|
@ -30,7 +33,6 @@ import com.arsdigita.persistence.DataObject;
|
|||
import com.arsdigita.persistence.DataQuery;
|
||||
import com.arsdigita.persistence.OID;
|
||||
import com.arsdigita.persistence.SessionManager;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
public class AtoZCategoryProvider extends AtoZProvider {
|
||||
|
||||
|
|
@ -46,7 +48,7 @@ public class AtoZCategoryProvider extends AtoZProvider {
|
|||
|
||||
public static final String CT_BLACK_LIST = "atozContentTypeBlackList";
|
||||
|
||||
public static final String ALIASES = "atozAliases";
|
||||
public static final String ALIASES = "aliases";
|
||||
|
||||
public static final String CT_TYPE_ID = "type_id";
|
||||
|
||||
|
|
@ -54,12 +56,12 @@ public class AtoZCategoryProvider extends AtoZProvider {
|
|||
|
||||
public static final String ATOMIC_ENTRIES_FOR_ROOT_CATEGORY = "com.arsdigita.london.atoz.getAtomicCategoryEntriesForRootCategory";
|
||||
|
||||
public static final String COMPOUND_ENTRIES = "com.arsdigita.london.atoz.getCompoundCategoryEntries";
|
||||
|
||||
public static final String FILTERED_ATOMIC_ENTRIES = "com.arsdigita.london.atoz.getAtomicFilteredCategoryEntries";
|
||||
|
||||
public static final String FILTERED_ATOMIC_ENTRIES_FOR_ROOT_CATEGORY = "com.arsdigita.london.atoz.getAtomicFilteredCategoryEntriesForRootCategory";
|
||||
|
||||
public static final String ALL_BLACK_LIST_TYPES = "com.arsdigita.london.atoz.getAllBlackListTypes";
|
||||
|
||||
public AtoZCategoryProvider() {
|
||||
this(BASE_DATA_OBJECT_TYPE);
|
||||
}
|
||||
|
|
@ -103,13 +105,13 @@ public class AtoZCategoryProvider extends AtoZProvider {
|
|||
}
|
||||
|
||||
public void addAlias(Category cat, String letter, String title) {
|
||||
DataObject link = add(ALIASES, cat);
|
||||
link.set("letter", letter);
|
||||
link.set("title", title);
|
||||
AtoZCategoryAlias alias = new AtoZCategoryAlias();
|
||||
alias.setup(cat, letter, title);
|
||||
add(ALIASES, alias);
|
||||
}
|
||||
|
||||
public void removeAlias(Category cat) {
|
||||
remove(ALIASES, cat);
|
||||
public void removeAlias(AtoZCategoryAlias alias) {
|
||||
remove(ALIASES, alias);
|
||||
}
|
||||
|
||||
public void addBlock(Category cat) {
|
||||
|
|
@ -134,6 +136,18 @@ public class AtoZCategoryProvider extends AtoZProvider {
|
|||
DataAssociation entries = (DataAssociation) get(CT_BLACK_LIST);
|
||||
return new DomainCollection(entries);
|
||||
}
|
||||
|
||||
public static void excludeBlackListTypes(DataCollectionDefinition definition) {
|
||||
DataQuery types =
|
||||
SessionManager.getSession().retrieveQuery(ALL_BLACK_LIST_TYPES);
|
||||
|
||||
while (types.next()) {
|
||||
String objectType = (String)types.get("objectType");
|
||||
s_log.debug("Excluding object type from DataCollection: " + objectType);
|
||||
definition.excludeSpecificObjectType(objectType);
|
||||
}
|
||||
types.close();
|
||||
}
|
||||
|
||||
public DataQuery getAtomicEntries() {
|
||||
DataQuery cats = null;
|
||||
|
|
|
|||
|
|
@ -18,29 +18,30 @@
|
|||
|
||||
package com.arsdigita.london.atoz;
|
||||
|
||||
import com.arsdigita.db.DbHelper;
|
||||
import com.arsdigita.domain.DomainObject;
|
||||
import com.arsdigita.domain.DomainObjectFactory;
|
||||
import com.arsdigita.domain.DomainObjectInstantiator;
|
||||
import com.arsdigita.domain.xml.TraversalHandler;
|
||||
import com.arsdigita.london.atoz.terms.DomainProvider;
|
||||
import com.arsdigita.london.atoz.ui.admin.CategoryProviderForm;
|
||||
import com.arsdigita.london.atoz.ui.admin.CategoryProviderAdmin;
|
||||
import com.arsdigita.london.atoz.ui.admin.ItemProviderForm;
|
||||
import com.arsdigita.london.atoz.ui.admin.CategoryProviderForm;
|
||||
import com.arsdigita.london.atoz.ui.admin.ItemProviderAdmin;
|
||||
import com.arsdigita.london.atoz.ui.admin.ItemProviderForm;
|
||||
import com.arsdigita.london.atoz.ui.admin.SiteProxyProviderAdmin;
|
||||
import com.arsdigita.london.atoz.ui.admin.SiteProxyProviderForm;
|
||||
import com.arsdigita.london.atoz.ui.terms.DomainProviderAdmin;
|
||||
import com.arsdigita.london.atoz.ui.terms.DomainProviderForm;
|
||||
|
||||
import com.arsdigita.db.DbHelper;
|
||||
import com.arsdigita.domain.xml.TraversalHandler;
|
||||
import com.arsdigita.persistence.pdl.ManifestSource;
|
||||
import com.arsdigita.persistence.pdl.NameFilter;
|
||||
import com.arsdigita.persistence.pdl.ManifestSource;
|
||||
import com.arsdigita.london.navigation.ApplicationNavigationModel;
|
||||
import com.arsdigita.london.navigation.DefaultNavigationModel;
|
||||
|
||||
import com.arsdigita.runtime.RuntimeConfig;
|
||||
import com.arsdigita.runtime.PDLInitializer;
|
||||
import com.arsdigita.persistence.DataObject;
|
||||
import com.arsdigita.persistence.pdl.ManifestSource;
|
||||
import com.arsdigita.persistence.pdl.NameFilter;
|
||||
import com.arsdigita.runtime.CompoundInitializer;
|
||||
import com.arsdigita.runtime.DomainInitEvent;
|
||||
import com.arsdigita.runtime.LegacyInitEvent;
|
||||
|
||||
import com.arsdigita.runtime.PDLInitializer;
|
||||
import com.arsdigita.runtime.RuntimeConfig;
|
||||
import com.arsdigita.xml.XML;
|
||||
|
||||
/**
|
||||
|
|
@ -94,5 +95,17 @@ public class Initializer extends CompoundInitializer {
|
|||
new AtoZProviderType("ESD Toolkit Domain Provider",
|
||||
"Provides a ESD Toolkit A-Z", DomainProvider.class,
|
||||
DomainProviderForm.class, DomainProviderAdmin.class));
|
||||
|
||||
}
|
||||
|
||||
public void init(DomainInitEvent evt) {
|
||||
super.init(evt);
|
||||
|
||||
DomainObjectFactory f = evt.getFactory();
|
||||
f.registerInstantiator(AtoZCategoryAlias.BASE_DATA_OBJECT_TYPE, new DomainObjectInstantiator() {
|
||||
protected DomainObject doNewInstance(DataObject dataObject) {
|
||||
return new AtoZCategoryAlias(dataObject);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,37 +18,33 @@
|
|||
|
||||
package com.arsdigita.london.atoz.ui.admin;
|
||||
|
||||
import com.arsdigita.london.atoz.AtoZCategoryProvider;
|
||||
import com.arsdigita.london.util.ui.ObjectCategoryPicker;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.arsdigita.bebop.Form;
|
||||
import com.arsdigita.bebop.FormProcessException;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.SaveCancelSection;
|
||||
import com.arsdigita.bebop.SimpleContainer;
|
||||
import com.arsdigita.bebop.Form;
|
||||
import com.arsdigita.bebop.FormProcessException;
|
||||
|
||||
import com.arsdigita.bebop.event.FormProcessListener;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||
import com.arsdigita.bebop.form.Option;
|
||||
import com.arsdigita.bebop.form.SingleSelect;
|
||||
import com.arsdigita.bebop.form.TextField;
|
||||
|
||||
import com.arsdigita.bebop.event.FormProcessListener;
|
||||
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||
import com.arsdigita.bebop.parameters.NotNullValidationListener;
|
||||
import com.arsdigita.bebop.parameters.StringInRangeValidationListener;
|
||||
|
||||
import com.arsdigita.kernel.ACSObject;
|
||||
import com.arsdigita.categorization.Category;
|
||||
|
||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
import com.arsdigita.london.atoz.AtoZCategoryProvider;
|
||||
|
||||
public class CategoryProviderAliasForm extends Form {
|
||||
|
||||
private ACSObjectSelectionModel m_provider;
|
||||
|
||||
private TermWidget m_termWidget;
|
||||
|
||||
private TextField m_title;
|
||||
private SingleSelect m_letter;
|
||||
private ObjectCategoryPicker m_category;
|
||||
private SaveCancelSection m_buttons;
|
||||
|
||||
public CategoryProviderAliasForm(ACSObjectSelectionModel provider) {
|
||||
|
|
@ -70,18 +66,12 @@ public class CategoryProviderAliasForm extends Form {
|
|||
m_letter.addOption(new Option(letter, letter.toUpperCase()));
|
||||
}
|
||||
|
||||
m_category = new ObjectCategoryPicker("category") {
|
||||
public String getContext(PageState state) {
|
||||
return null;
|
||||
}
|
||||
public ACSObject getObject(PageState state) {
|
||||
return (ACSObject)m_provider.getSelectedObject(state);
|
||||
}
|
||||
};
|
||||
|
||||
add(m_title);
|
||||
add(m_letter);
|
||||
add(m_category);
|
||||
|
||||
m_termWidget = new TermWidget(provider);
|
||||
m_termWidget.addValidationListener(new NotNullValidationListener());
|
||||
add(m_termWidget);
|
||||
|
||||
m_buttons = new SaveCancelSection(new SimpleContainer());
|
||||
add(m_buttons);
|
||||
|
|
@ -110,7 +100,7 @@ public class CategoryProviderAliasForm extends Form {
|
|||
AtoZCategoryProvider provider = (AtoZCategoryProvider)m_provider
|
||||
.getSelectedObject(state);
|
||||
|
||||
Category cat = m_category.getCategory(state);
|
||||
Category cat = new Category(((BigDecimal[])m_termWidget.getValue(state))[0]);
|
||||
String letter = (String)m_letter.getValue(state);
|
||||
String title = (String)m_title.getValue(state);
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import com.arsdigita.bebop.SimpleContainer;
|
|||
import com.arsdigita.bebop.PageState;
|
||||
|
||||
import com.arsdigita.london.atoz.AtoZ;
|
||||
import com.arsdigita.london.atoz.AtoZCategoryAlias;
|
||||
import com.arsdigita.london.atoz.AtoZCategoryProvider;
|
||||
|
||||
import com.arsdigita.domain.DomainObjectXMLRenderer;
|
||||
|
|
@ -53,16 +54,15 @@ public class CategoryProviderAliasList extends SimpleContainer {
|
|||
String value = state.getControlEventValue();
|
||||
|
||||
if (DELETE.equals(key)) {
|
||||
Category cat = (Category)DomainObjectFactory
|
||||
AtoZCategoryAlias alias = (AtoZCategoryAlias)DomainObjectFactory
|
||||
.newInstance(OID.valueOf(value));
|
||||
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider)
|
||||
m_provider.getSelectedObject(state);
|
||||
provider.removeAlias(cat);
|
||||
provider.removeAlias(alias);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void generateXML(PageState state,
|
||||
Element parent) {
|
||||
Element content = AtoZ.newElement("categoryProviderAliasList");
|
||||
|
|
@ -73,9 +73,14 @@ public class CategoryProviderAliasList extends SimpleContainer {
|
|||
|
||||
DomainCollection entries = provider.getAliases();
|
||||
while (entries.next()) {
|
||||
AtoZCategoryAlias alias = (AtoZCategoryAlias)entries.getDomainObject();
|
||||
Element el = AtoZ.newElement("categoryProviderAlias");
|
||||
el.addAttribute("letter", XML.format(entries.get("link.letter")));
|
||||
el.addAttribute("title", XML.format(entries.get("link.title")));
|
||||
el.addAttribute("letter", XML.format(alias.getLetter()));
|
||||
el.addAttribute("title", XML.format(alias.getTitle()));
|
||||
|
||||
Element elName = new Element("name");
|
||||
elName.setText(alias.getCategory().getName());
|
||||
el.addContent(elName);
|
||||
|
||||
try {
|
||||
state.setControlEvent(this, DELETE, entries.getDomainObject()
|
||||
|
|
|
|||
|
|
@ -2,11 +2,13 @@
|
|||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
|
||||
xmlns:cms="http://www.arsdigita.com/cms/1.0"
|
||||
xmlns:atoz="http://xmlns.redhat.com/atoz/1.0"
|
||||
version="1.0">
|
||||
|
||||
<xsl:import href="../../../../../ROOT/packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/packages/ui/xsl/ui.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/__ccm__/static/cms/admin/category-step/category-step.xsl"/>
|
||||
|
||||
<xsl:output method="html"/>
|
||||
|
||||
|
|
@ -208,6 +210,39 @@
|
|||
</form>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="cms:emptyPage[@title='childCategories']">
|
||||
<xsl:choose>
|
||||
<xsl:when test="cms:category/@order='sortKey'">
|
||||
<xsl:apply-templates select="cms:category/cms:category" mode="cms:javascriptCat">
|
||||
<xsl:with-param name="expand" select="'none'"/>
|
||||
<xsl:sort data-type="number" select="@sortKey"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="cms:category/cms:category" mode="cms:javascriptCat">
|
||||
<xsl:sort data-type="text" select="@name"/>
|
||||
<xsl:with-param name="expand" select="'none'"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="cms:categoryWidget" mode="cms:javascript">
|
||||
<script type="text/javascript" src="/assets/prototype.js"/>
|
||||
<script type="text/javascript" src="/assets/category-step.js"/>
|
||||
<script type="text/javascript" src="/resource/ccm-ldn-atoz/__ccm__/static/atoz/category-widget.js"/>
|
||||
<div>
|
||||
<xsl:apply-templates select="cms:category" mode="cms:javascriptCat">
|
||||
<xsl:with-param name="expand" select="'block'"/>
|
||||
</xsl:apply-templates>
|
||||
</div>
|
||||
<h3>Selected categories</h3>
|
||||
<select id="catWd" size="5" onClick="catDeselect()" style="width: 400px; height=200px">
|
||||
</select>
|
||||
<select id="catWdHd" name="{@name}" size="5" multiple="multiple" style="display: none">
|
||||
</select>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="bebop:form" mode="atoz:categoryAliasForm">
|
||||
<form action="{@action}" name="{@name}">
|
||||
<xsl:apply-templates select="bebop:formWidget[@type='hidden']"/>
|
||||
|
|
@ -236,7 +271,7 @@
|
|||
<tr class="odd">
|
||||
<th>Category:</th>
|
||||
<td>
|
||||
<xsl:apply-templates select="bebop:select[@name='category']"/>
|
||||
<xsl:apply-templates select="cms:categoryWidget[@name='category']"/>
|
||||
<xsl:apply-templates select="bebop:formErrors[@id='category']"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
Loading…
Reference in New Issue