Assoziation zwischen GenericOrganizationalUnit und GenericPerson ist jetzt unabhängig von der Sprache der Items.
git-svn-id: https://svn.libreccm.org/ccm/trunk@1480 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
b1aa546295
commit
050cd8bb3c
|
|
@ -30,6 +30,10 @@ object type GenericOrganizationalUnit extends ContentPage {
|
||||||
reference key (cms_organizationalunits.organizationalunit_id);
|
reference key (cms_organizationalunits.organizationalunit_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object type GenericOrganizationalUnitBundle extends ContentBundle {
|
||||||
|
reference key (cms_orgaunit_bundles.bundle_id);
|
||||||
|
}
|
||||||
|
|
||||||
// Link for contact points.
|
// Link for contact points.
|
||||||
association {
|
association {
|
||||||
|
|
||||||
|
|
@ -52,15 +56,15 @@ association {
|
||||||
// Links a organization with persons.
|
// Links a organization with persons.
|
||||||
association {
|
association {
|
||||||
|
|
||||||
GenericOrganizationalUnit[0..n] organizationalunit = join cms_persons.person_id
|
GenericOrganizationalUnitBundle[0..n] organizationalunits = join cms_bundles.bundle_id
|
||||||
to cms_organizationalunits_person_map.person_id,
|
to cms_organizationalunits_person_map.person_id,
|
||||||
join cms_organizationalunits_person_map.organizationalunit_id
|
join cms_organizationalunits_person_map.organizationalunit_id
|
||||||
to cms_organizationalunits.organizationalunit_id;
|
to cms_bundles.bundle_id;
|
||||||
|
|
||||||
GenericPerson[0..n] persons = join cms_organizationalunits.organizationalunit_id
|
GenericPersonBundle[0..n] persons = join cms_bundles.bundle_id
|
||||||
to cms_organizationalunits_person_map.organizationalunit_id,
|
to cms_organizationalunits_person_map.organizationalunit_id,
|
||||||
join cms_organizationalunits_person_map.person_id
|
join cms_organizationalunits_person_map.person_id
|
||||||
to cms_persons.person_id;
|
to cms_bundles.bundle_id;
|
||||||
|
|
||||||
// Additional attributes for the association
|
// Additional attributes for the association
|
||||||
String[0..1] role_name = cms_organizationalunits_person_map.role_name VARCHAR(100);
|
String[0..1] role_name = cms_organizationalunits_person_map.role_name VARCHAR(100);
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
model com.arsdigita.cms.contenttypes;
|
model com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
import com.arsdigita.cms.ContentPage;
|
import com.arsdigita.cms.ContentPage;
|
||||||
|
import com.arsdigita.cms.ContentBundle;
|
||||||
|
|
||||||
object type GenericPerson extends ContentPage {
|
object type GenericPerson extends ContentPage {
|
||||||
String[0..1] surname = cms_persons.surname VARCHAR(512);
|
String[0..1] surname = cms_persons.surname VARCHAR(512);
|
||||||
|
|
@ -37,3 +38,7 @@ object type GenericPerson extends ContentPage {
|
||||||
|
|
||||||
reference key (cms_persons.person_id);
|
reference key (cms_persons.person_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object type GenericPersonBundle extends ContentBundle {
|
||||||
|
reference key (cms_person_bundles.bundle_id);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
CREATE TABLE cms_publish_lock (
|
||||||
|
lock_id integer NOT NULL,
|
||||||
|
locked_oid character varying(2048),
|
||||||
|
lock_timestamp timestamp with time zone,
|
||||||
|
action character varying(256)
|
||||||
|
);
|
||||||
|
|
||||||
|
ALTER TABLE ONLY cms_publish_lock
|
||||||
|
ADD CONSTRAINT cms_publis_loc_lock_id_p_8n7d0 PRIMARY KEY (lock_id);
|
||||||
|
-- ALTER TABLE public.cms_publish_lock OWNER TO ccm;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
classname= "com.arsdigita.cms.contenttypes.GenericOrganizationalUnit"
|
classname= "com.arsdigita.cms.contenttypes.GenericOrganizationalUnit"
|
||||||
mode="hidden">
|
mode="hidden">
|
||||||
|
|
||||||
<ctd:authoring-kit createComponent="com.arsdigita.cms.ui.authoring.PageCreate">
|
<ctd:authoring-kit createComponent="com.arsdigita.cms.contenttypes.ui.GenericOrganizationalUnitCreate">
|
||||||
|
|
||||||
<ctd:authoring-step
|
<ctd:authoring-step
|
||||||
labelKey="cms.contenttypes.shared.basic_properties.title"
|
labelKey="cms.contenttypes.shared.basic_properties.title"
|
||||||
|
|
|
||||||
|
|
@ -19,13 +19,11 @@
|
||||||
*/
|
*/
|
||||||
package com.arsdigita.cms.contenttypes;
|
package com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
import com.arsdigita.cms.ContentBundle;
|
|
||||||
import com.arsdigita.cms.ContentPage;
|
import com.arsdigita.cms.ContentPage;
|
||||||
import com.arsdigita.cms.contenttypes.ui.GenericOrganizationalUnitSubordinateOrgaUnitAddForm;
|
import com.arsdigita.cms.contenttypes.ui.GenericOrganizationalUnitSubordinateOrgaUnitAddForm;
|
||||||
import com.arsdigita.cms.contenttypes.ui.GenericOrganizationalUnitSubordinateOrgaUnitsTable;
|
import com.arsdigita.cms.contenttypes.ui.GenericOrganizationalUnitSubordinateOrgaUnitsTable;
|
||||||
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
|
||||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||||
import com.arsdigita.kernel.Kernel;
|
|
||||||
import com.arsdigita.persistence.DataCollection;
|
import com.arsdigita.persistence.DataCollection;
|
||||||
import com.arsdigita.persistence.DataObject;
|
import com.arsdigita.persistence.DataObject;
|
||||||
import com.arsdigita.persistence.OID;
|
import com.arsdigita.persistence.OID;
|
||||||
|
|
@ -79,6 +77,10 @@ public class GenericOrganizationalUnit extends ContentPage {
|
||||||
super(type);
|
super(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GenericOrganizationalUnitBundle getGenericOrganizationalUnitBundle() {
|
||||||
|
return (GenericOrganizationalUnitBundle) getContentBundle();
|
||||||
|
}
|
||||||
|
|
||||||
public String getAddendum() {
|
public String getAddendum() {
|
||||||
return (String) get(ADDENDUM);
|
return (String) get(ADDENDUM);
|
||||||
}
|
}
|
||||||
|
|
@ -117,7 +119,7 @@ public class GenericOrganizationalUnit extends ContentPage {
|
||||||
}
|
}
|
||||||
|
|
||||||
public GenericOrganizationalUnitPersonCollection getPersons() {
|
public GenericOrganizationalUnitPersonCollection getPersons() {
|
||||||
DataCollection dataColl = (DataCollection) get(PERSONS);
|
DataCollection dataColl = (DataCollection) getContentBundle().get(PERSONS);
|
||||||
logger.debug(String.format(
|
logger.debug(String.format(
|
||||||
"GenericOrganizationalUnitPersonCollection size = %d", dataColl.
|
"GenericOrganizationalUnitPersonCollection size = %d", dataColl.
|
||||||
size()));
|
size()));
|
||||||
|
|
@ -127,12 +129,14 @@ public class GenericOrganizationalUnit extends ContentPage {
|
||||||
public void addPerson(final GenericPerson person,
|
public void addPerson(final GenericPerson person,
|
||||||
final String role,
|
final String role,
|
||||||
final String status) {
|
final String status) {
|
||||||
Assert.exists(person, GenericPerson.class);
|
getGenericOrganizationalUnitBundle().addPerson(person, role, status);
|
||||||
|
|
||||||
GenericPerson personToLink = person;
|
//Assert.exists(person, GenericPerson.class);
|
||||||
|
|
||||||
final ContentBundle bundle = person.getContentBundle();
|
//GenericPerson personToLink = person;
|
||||||
if ((bundle != null) && (bundle.hasInstance(this.getLanguage(), Kernel.
|
|
||||||
|
//final ContentBundle bundle = person.getContentBundle();
|
||||||
|
/*if ((bundle != null) && (bundle.hasInstance(this.getLanguage(), Kernel.
|
||||||
getConfig().
|
getConfig().
|
||||||
languageIndependentItems()))) {
|
languageIndependentItems()))) {
|
||||||
personToLink =
|
personToLink =
|
||||||
|
|
@ -141,21 +145,25 @@ public class GenericOrganizationalUnit extends ContentPage {
|
||||||
|
|
||||||
Assert.exists(personToLink, GenericPerson.class);
|
Assert.exists(personToLink, GenericPerson.class);
|
||||||
|
|
||||||
final DataObject link = add(PERSONS, personToLink);
|
final DataObject link = add(PERSONS, personToLink);*/
|
||||||
|
|
||||||
link.set(GenericOrganizationalUnitPersonCollection.PERSON_ROLE, role);
|
//final DataObject link = getContentBundle().add(PERSONS, bundle);
|
||||||
link.set(GenericOrganizationalUnitPersonCollection.STATUS, status);
|
|
||||||
link.save();
|
//link.set(GenericOrganizationalUnitPersonCollection.PERSON_ROLE, role);
|
||||||
|
//link.set(GenericOrganizationalUnitPersonCollection.STATUS, status);
|
||||||
|
//link.save();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removePerson(final GenericPerson person) {
|
public void removePerson(final GenericPerson person) {
|
||||||
logger.debug("Removing person association...");
|
logger.debug("Removing person association...");
|
||||||
Assert.exists(person, GenericPerson.class);
|
//Assert.exists(person, GenericPerson.class);
|
||||||
remove(PERSONS, person);
|
//remove(PERSONS, person.getContentBundle());
|
||||||
|
getGenericOrganizationalUnitBundle().removePerson(person);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasPersons() {
|
public boolean hasPersons() {
|
||||||
return !this.getPersons().isEmpty();
|
//return !this.getPersons().isEmpty();
|
||||||
|
return getGenericOrganizationalUnitBundle().hasPersons();
|
||||||
}
|
}
|
||||||
|
|
||||||
public GenericOrganizationalUnitSuperiorCollection getSuperiorOrgaUnits() {
|
public GenericOrganizationalUnitSuperiorCollection getSuperiorOrgaUnits() {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,80 @@
|
||||||
|
package com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
|
import com.arsdigita.cms.ContentBundle;
|
||||||
|
import com.arsdigita.cms.ContentItem;
|
||||||
|
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||||
|
import com.arsdigita.persistence.DataCollection;
|
||||||
|
import com.arsdigita.persistence.DataObject;
|
||||||
|
import com.arsdigita.persistence.OID;
|
||||||
|
import com.arsdigita.util.Assert;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
public class GenericOrganizationalUnitBundle extends ContentBundle {
|
||||||
|
|
||||||
|
public static final String BASE_DATA_OBJECT_TYPE =
|
||||||
|
"com.arsdigita.cms.contenttypes.GenericOrganizationalUnitBundle";
|
||||||
|
public static final String PERSONS = "persons";
|
||||||
|
public static final String ORGAUNITS = "organizationalunits";
|
||||||
|
|
||||||
|
public GenericOrganizationalUnitBundle(final ContentItem primary) {
|
||||||
|
super(BASE_DATA_OBJECT_TYPE);
|
||||||
|
|
||||||
|
Assert.exists(primary, ContentItem.class);
|
||||||
|
|
||||||
|
setDefaultLanguage(primary.getLanguage());
|
||||||
|
setContentType(primary.getContentType());
|
||||||
|
addInstance(primary);
|
||||||
|
|
||||||
|
super.setName(primary.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
public GenericOrganizationalUnitBundle(final OID oid)
|
||||||
|
throws DataObjectNotFoundException {
|
||||||
|
super(oid);
|
||||||
|
}
|
||||||
|
|
||||||
|
public GenericOrganizationalUnitBundle(final BigDecimal id)
|
||||||
|
throws DataObjectNotFoundException {
|
||||||
|
super(new OID(BASE_DATA_OBJECT_TYPE, id));
|
||||||
|
}
|
||||||
|
|
||||||
|
public GenericOrganizationalUnitBundle(final DataObject dobj) {
|
||||||
|
super(dobj);
|
||||||
|
}
|
||||||
|
|
||||||
|
public GenericOrganizationalUnitBundle(final String type) {
|
||||||
|
super(type);
|
||||||
|
}
|
||||||
|
|
||||||
|
public GenericOrganizationalUnitPersonCollection getPersons() {
|
||||||
|
return new GenericOrganizationalUnitPersonCollection((DataCollection) get(
|
||||||
|
PERSONS));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addPerson(final GenericPerson person,
|
||||||
|
final String role,
|
||||||
|
final String status) {
|
||||||
|
Assert.exists(person, GenericPerson.class);
|
||||||
|
|
||||||
|
final DataObject link = add(PERSONS, person.getGenericPersonBundle());
|
||||||
|
|
||||||
|
link.set(GenericOrganizationalUnitPersonCollection.PERSON_ROLE, role);
|
||||||
|
link.set(GenericOrganizationalUnitPersonCollection.STATUS, status);
|
||||||
|
link.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removePerson(final GenericPerson person) {
|
||||||
|
Assert.exists(person, GenericPerson.class);
|
||||||
|
|
||||||
|
remove(PERSONS, person.getContentBundle());
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasPersons() {
|
||||||
|
return !getPersons().isEmpty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
*/
|
*/
|
||||||
package com.arsdigita.cms.contenttypes;
|
package com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
|
import com.arsdigita.cms.ContentBundle;
|
||||||
import com.arsdigita.domain.DomainCollection;
|
import com.arsdigita.domain.DomainCollection;
|
||||||
import com.arsdigita.domain.DomainObjectFactory;
|
import com.arsdigita.domain.DomainObjectFactory;
|
||||||
import com.arsdigita.persistence.DataCollection;
|
import com.arsdigita.persistence.DataCollection;
|
||||||
|
|
@ -40,8 +41,7 @@ public class GenericOrganizationalUnitPersonCollection extends DomainCollection
|
||||||
public GenericOrganizationalUnitPersonCollection(
|
public GenericOrganizationalUnitPersonCollection(
|
||||||
DataCollection dataCollection) {
|
DataCollection dataCollection) {
|
||||||
super(dataCollection);
|
super(dataCollection);
|
||||||
dataCollection.addOrder(
|
dataCollection.addOrder("name asc");
|
||||||
"surname asc, givenname asc, titlepre asc, titlepost asc");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -69,8 +69,10 @@ public class GenericOrganizationalUnitPersonCollection extends DomainCollection
|
||||||
}
|
}
|
||||||
|
|
||||||
public GenericPerson getPerson() {
|
public GenericPerson getPerson() {
|
||||||
return (GenericPerson) DomainObjectFactory.newInstance(m_dataCollection.
|
/*return (GenericPerson) DomainObjectFactory.newInstance(m_dataCollection.
|
||||||
getDataObject());
|
getDataObject());*/
|
||||||
|
final ContentBundle bundle = (ContentBundle) DomainObjectFactory.newInstance(m_dataCollection.getDataObject());
|
||||||
|
return (GenericPerson) bundle.getPrimaryInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
public OID getOID() {
|
public OID getOID() {
|
||||||
|
|
@ -78,42 +80,44 @@ public class GenericOrganizationalUnitPersonCollection extends DomainCollection
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSurname() {
|
public String getSurname() {
|
||||||
return (String) m_dataCollection.getDataObject().get(
|
/*return (String) m_dataCollection.getDataObject().get(
|
||||||
GenericPerson.SURNAME);
|
GenericPerson.SURNAME);*/
|
||||||
|
return getPerson().getSurname();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getGivenName() {
|
public String getGivenName() {
|
||||||
return (String) m_dataCollection.getDataObject().get(
|
/*return (String) m_dataCollection.getDataObject().get(
|
||||||
GenericPerson.GIVENNAME);
|
GenericPerson.GIVENNAME);*/
|
||||||
|
return getPerson().getGivenName();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTitlePre() {
|
public String getTitlePre() {
|
||||||
return (String) m_dataCollection.getDataObject().get(
|
/*return (String) m_dataCollection.getDataObject().get(
|
||||||
GenericPerson.TITLEPRE);
|
GenericPerson.TITLEPRE);*/
|
||||||
|
return getPerson().getTitlePre();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTitlePost() {
|
public String getTitlePost() {
|
||||||
return (String) m_dataCollection.getDataObject().get(
|
/*return (String) m_dataCollection.getDataObject().get(
|
||||||
GenericPerson.TITLEPOST);
|
GenericPerson.TITLEPOST);*/
|
||||||
|
return getPerson().getTitlePost();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getBirthdate() {
|
public Date getBirthdate() {
|
||||||
return (Date) m_dataCollection.getDataObject().get(
|
/*return (Date) m_dataCollection.getDataObject().get(
|
||||||
GenericPerson.BIRTHDATE);
|
GenericPerson.BIRTHDATE);*/
|
||||||
|
return getPerson().getBirthdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getGender() {
|
public String getGender() {
|
||||||
return (String) m_dataCollection.getDataObject().get(
|
/*return (String) m_dataCollection.getDataObject().get(
|
||||||
GenericPerson.GENDER);
|
GenericPerson.GENDER);*/
|
||||||
|
return getPerson().getGender();
|
||||||
}
|
}
|
||||||
|
|
||||||
public DataCollection getContacts() {
|
public GenericPerson getAlias() {
|
||||||
return (DataCollection) m_dataCollection.getDataObject().get(
|
/*return (DataObject) m_dataCollection.getDataObject().get(
|
||||||
GenericPerson.CONTACTS);
|
GenericPerson.ALIAS);*/
|
||||||
}
|
return getPerson().getAlias();
|
||||||
|
|
||||||
public DataObject getAlias() {
|
|
||||||
return (DataObject) m_dataCollection.getDataObject().get(
|
|
||||||
GenericPerson.ALIAS);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2010 Sören Bernstein, for the Center of Social Politics of the University of Bremen
|
* Copyright (C) 2010 Sören Bernstein
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
|
@ -83,6 +83,10 @@ public class GenericPerson extends ContentPage implements
|
||||||
super(type);
|
super(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GenericPersonBundle getGenericPersonBundle() {
|
||||||
|
return (GenericPersonBundle) getContentBundle();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeSave() {
|
public void beforeSave() {
|
||||||
super.beforeSave();
|
super.beforeSave();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
package com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
|
import com.arsdigita.cms.ContentBundle;
|
||||||
|
import com.arsdigita.cms.ContentItem;
|
||||||
|
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||||
|
import com.arsdigita.persistence.DataObject;
|
||||||
|
import com.arsdigita.persistence.OID;
|
||||||
|
import com.arsdigita.util.Assert;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
public class GenericPersonBundle extends ContentBundle {
|
||||||
|
|
||||||
|
public final static String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.contenttypes.GenericPersonBundle";
|
||||||
|
|
||||||
|
public GenericPersonBundle(final ContentItem primary) {
|
||||||
|
super(BASE_DATA_OBJECT_TYPE);
|
||||||
|
|
||||||
|
Assert.exists(primary, ContentItem.class);
|
||||||
|
|
||||||
|
setDefaultLanguage(primary.getLanguage());
|
||||||
|
setContentType(primary.getContentType());
|
||||||
|
addInstance(primary);
|
||||||
|
|
||||||
|
super.setName(primary.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
public GenericPersonBundle(final OID oid) throws DataObjectNotFoundException {
|
||||||
|
super(oid);
|
||||||
|
}
|
||||||
|
|
||||||
|
public GenericPersonBundle(final BigDecimal id) throws DataObjectNotFoundException {
|
||||||
|
super(new OID(BASE_DATA_OBJECT_TYPE, id));
|
||||||
|
}
|
||||||
|
|
||||||
|
public GenericPersonBundle(final DataObject dobj) {
|
||||||
|
super(dobj);
|
||||||
|
}
|
||||||
|
|
||||||
|
public GenericPersonBundle(final String type) {
|
||||||
|
super(type);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
package com.arsdigita.cms.contenttypes.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.FormData;
|
||||||
|
import com.arsdigita.bebop.FormProcessException;
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||||
|
import com.arsdigita.cms.ContentPage;
|
||||||
|
import com.arsdigita.cms.ContentSection;
|
||||||
|
import com.arsdigita.cms.Folder;
|
||||||
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitBundle;
|
||||||
|
import com.arsdigita.cms.ui.authoring.CreationSelector;
|
||||||
|
import com.arsdigita.cms.ui.authoring.PageCreate;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
public class GenericOrganizationalUnitCreate extends PageCreate {
|
||||||
|
|
||||||
|
public GenericOrganizationalUnitCreate(final ItemSelectionModel itemModel,
|
||||||
|
final CreationSelector parent) {
|
||||||
|
super(itemModel, parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void process(final FormSectionEvent fse) throws FormProcessException {
|
||||||
|
final FormData data = fse.getFormData();
|
||||||
|
final PageState state = fse.getPageState();
|
||||||
|
final ContentSection section = m_parent.getContentSection(state);
|
||||||
|
final Folder folder = m_parent.getFolder(state);
|
||||||
|
|
||||||
|
final ContentPage item = createContentPage(state);
|
||||||
|
item.setLanguage((String) data.get(LANGUAGE));
|
||||||
|
item.setName((String) data.get(NAME));
|
||||||
|
item.setTitle((String) data.get(TITLE));
|
||||||
|
if (!ContentSection.getConfig().getHideLaunchDate()) {
|
||||||
|
item.setLaunchDate((Date) data.get(LAUNCH_DATE));
|
||||||
|
}
|
||||||
|
|
||||||
|
final GenericOrganizationalUnitBundle bundle = new GenericOrganizationalUnitBundle(
|
||||||
|
item);
|
||||||
|
bundle.setParent(folder);
|
||||||
|
bundle.setContentSection(section);
|
||||||
|
bundle.save();
|
||||||
|
|
||||||
|
m_workflowSection.applyWorkflow(state, item);
|
||||||
|
|
||||||
|
m_parent.editItem(state, item);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,345 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2010 Jens Pelzetter,
|
|
||||||
* for the Center of Social Politics of the University of Bremen
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2.1 of
|
|
||||||
* the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
package com.arsdigita.cms.contenttypes.ui;
|
|
||||||
|
|
||||||
import com.arsdigita.bebop.PageState;
|
|
||||||
import com.arsdigita.cms.ContentItem;
|
|
||||||
import com.arsdigita.cms.contenttypes.GenericAddress;
|
|
||||||
import com.arsdigita.cms.contenttypes.GenericContact;
|
|
||||||
import com.arsdigita.cms.contenttypes.GenericContactEntry;
|
|
||||||
import com.arsdigita.cms.contenttypes.GenericContactEntryCollection;
|
|
||||||
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
|
|
||||||
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitContactCollection;
|
|
||||||
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitPersonCollection;
|
|
||||||
import com.arsdigita.cms.contenttypes.GenericPerson;
|
|
||||||
import com.arsdigita.cms.contenttypes.GenericPersonContactCollection;
|
|
||||||
import com.arsdigita.cms.dispatcher.SimpleXMLGenerator;
|
|
||||||
import com.arsdigita.xml.Element;
|
|
||||||
import org.apache.log4j.Logger;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author Jens Pelzetter
|
|
||||||
*
|
|
||||||
* @deprecated Replaced with {@link GenericOrgaUnitExtraXmlGenerator}.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public class GenericOrganizationalUnitPanel extends CompoundContentItemPanel {
|
|
||||||
|
|
||||||
private final static Logger logger =
|
|
||||||
Logger.getLogger(GenericOrganizationalUnit.class);
|
|
||||||
public static final String SHOW_CONTACTS = "contacts";
|
|
||||||
public static final String SHOW_MEMBERS = "members";
|
|
||||||
private boolean displayContacts = true;
|
|
||||||
private boolean displayMembers = true;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String getDefaultShowParam() {
|
|
||||||
return SHOW_CONTACTS;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Class<? extends ContentItem> getAllowedClass() {
|
|
||||||
return GenericOrganizationalUnit.class;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isDisplayContacts() {
|
|
||||||
return displayContacts;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDisplayContacts(boolean displayContacts) {
|
|
||||||
this.displayContacts = displayContacts;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isDisplayMembers() {
|
|
||||||
return displayMembers;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDisplayMembers(boolean displayMembers) {
|
|
||||||
this.displayMembers = displayMembers;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void generateContactsXML(GenericOrganizationalUnit orga,
|
|
||||||
Element parent, PageState state) {
|
|
||||||
long start = System.currentTimeMillis();
|
|
||||||
GenericOrganizationalUnitContactCollection contacts;
|
|
||||||
contacts = orga.getContacts();
|
|
||||||
|
|
||||||
long pageNumber = getPageNumber(state);
|
|
||||||
|
|
||||||
long pageCount = getPageCount(contacts.size());
|
|
||||||
long begin = getPaginatorBegin(pageNumber);
|
|
||||||
long count = getPaginatorCount(begin, contacts.size());
|
|
||||||
long end = getPaginatorEnd(begin, count);
|
|
||||||
pageNumber = normalizePageNumber(pageCount, pageNumber);
|
|
||||||
|
|
||||||
createPaginatorElement(parent, pageNumber, pageCount, begin, end,
|
|
||||||
count, contacts.size());
|
|
||||||
contacts.setRange((int) begin + 1, (int) end + 1);
|
|
||||||
|
|
||||||
Element contactsElem = parent.newChildElement("contacts");
|
|
||||||
while (contacts.next()) {
|
|
||||||
GenericContact contact;
|
|
||||||
contact = contacts.getContact();
|
|
||||||
|
|
||||||
generateGenericContactXML(contact,
|
|
||||||
contactsElem,
|
|
||||||
state,
|
|
||||||
Integer.toString(
|
|
||||||
contacts.getContactOrder()),
|
|
||||||
true);
|
|
||||||
}
|
|
||||||
System.out.printf("Generated Contacts XML in %d ms.\n", System.
|
|
||||||
currentTimeMillis() - start);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void generateMembersXML(GenericOrganizationalUnit orga,
|
|
||||||
Element parent,
|
|
||||||
PageState state) {
|
|
||||||
GenericOrganizationalUnitPersonCollection persons;
|
|
||||||
persons = orga.getPersons();
|
|
||||||
long pageNumber = getPageNumber(state);
|
|
||||||
|
|
||||||
Element personsElem = parent.newChildElement("members");
|
|
||||||
|
|
||||||
long pageCount = getPageCount(persons.size());
|
|
||||||
long begin = getPaginatorBegin(pageNumber);
|
|
||||||
long count = getPaginatorCount(begin, persons.size());
|
|
||||||
long end = getPaginatorEnd(begin, persons.size());
|
|
||||||
pageNumber = normalizePageNumber(pageCount, pageNumber);
|
|
||||||
|
|
||||||
createPaginatorElement(parent, pageNumber, pageCount, begin, end,
|
|
||||||
count, persons.size());
|
|
||||||
persons.setRange((int) begin + 1, (int) end + 1);
|
|
||||||
|
|
||||||
while (persons.next()) {
|
|
||||||
Element personElem = personsElem.newChildElement("member");
|
|
||||||
//Element title = personElem.newChildElement("title");
|
|
||||||
//title.setText(person.getTitle());
|
|
||||||
|
|
||||||
if ((persons.getTitlePre() != null)
|
|
||||||
&& !persons.getTitlePre().isEmpty()) {
|
|
||||||
Element titlePre = personElem.newChildElement("titlePre");
|
|
||||||
titlePre.setText(persons.getTitlePre());
|
|
||||||
}
|
|
||||||
|
|
||||||
Element surname = personElem.newChildElement("surname");
|
|
||||||
surname.setText(persons.getSurname());
|
|
||||||
|
|
||||||
Element givenName = personElem.newChildElement("givenname");
|
|
||||||
givenName.setText(persons.getGivenName());
|
|
||||||
|
|
||||||
if ((persons.getTitlePost() != null)
|
|
||||||
&& !persons.getTitlePost().isEmpty()) {
|
|
||||||
Element titlePost = personElem.newChildElement("titlePost");
|
|
||||||
titlePost.setText(persons.getTitlePost());
|
|
||||||
}
|
|
||||||
|
|
||||||
GenericPersonContactCollection contacts =
|
|
||||||
new GenericPersonContactCollection(
|
|
||||||
persons.getContacts());
|
|
||||||
if ((contacts != null) && (contacts.size() > 0)) {
|
|
||||||
Element contactsElem =
|
|
||||||
personElem.newChildElement("contacts");
|
|
||||||
while (contacts.next()) {
|
|
||||||
|
|
||||||
generateContactXML(contacts.getContactType(),
|
|
||||||
contacts.getPerson(),
|
|
||||||
contacts.getContactEntries(),
|
|
||||||
contacts.getAddress(),
|
|
||||||
contactsElem,
|
|
||||||
state,
|
|
||||||
contacts.getContactOrder(),
|
|
||||||
false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void generateContactXML(
|
|
||||||
final String contactType,
|
|
||||||
final GenericPerson person,
|
|
||||||
final GenericContactEntryCollection contactEntries,
|
|
||||||
final GenericAddress address,
|
|
||||||
final Element parent,
|
|
||||||
final PageState state,
|
|
||||||
final String order,
|
|
||||||
final boolean withPerson) {
|
|
||||||
Element contactElem = parent.newChildElement("contact");
|
|
||||||
contactElem.addAttribute("order", order);
|
|
||||||
|
|
||||||
//Element title = contactElem.newChildElement("title");
|
|
||||||
//title.setText(contact.getTitle());
|
|
||||||
|
|
||||||
Element typeElem = contactElem.newChildElement("type");
|
|
||||||
typeElem.setText(contactType);
|
|
||||||
|
|
||||||
if (withPerson) {
|
|
||||||
if (person != null) {
|
|
||||||
Element personElem = contactElem.newChildElement("person");
|
|
||||||
if ((person.getTitlePre() != null) && !person.getTitlePre().
|
|
||||||
isEmpty()) {
|
|
||||||
Element titlePre =
|
|
||||||
personElem.newChildElement("titlePre");
|
|
||||||
titlePre.setText(person.getTitlePre());
|
|
||||||
}
|
|
||||||
|
|
||||||
Element givenName = contactElem.newChildElement("givenname");
|
|
||||||
givenName.setText(person.getGivenName());
|
|
||||||
|
|
||||||
Element surname = contactElem.newChildElement("surname");
|
|
||||||
surname.setText(person.getSurname());
|
|
||||||
|
|
||||||
if ((person.getTitlePost() != null)
|
|
||||||
&& !person.getTitlePost().isEmpty()) {
|
|
||||||
Element titlePost = contactElem.newChildElement(
|
|
||||||
"titlePost");
|
|
||||||
titlePost.setText(person.getTitlePost());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((contactEntries != null)
|
|
||||||
&& (contactEntries.size() > 0)) {
|
|
||||||
Element contactEntriesElem =
|
|
||||||
contactElem.newChildElement("contactEntries");
|
|
||||||
while (contactEntries.next()) {
|
|
||||||
GenericContactEntry contactEntry =
|
|
||||||
contactEntries.getContactEntry();
|
|
||||||
Element contactEntryElem =
|
|
||||||
contactEntriesElem.newChildElement(
|
|
||||||
"contactEntry");
|
|
||||||
contactEntryElem.addAttribute("key",
|
|
||||||
contactEntry.getKey());
|
|
||||||
Element valueElem = contactEntryElem.newChildElement(
|
|
||||||
"value");
|
|
||||||
valueElem.setText(contactEntry.getValue());
|
|
||||||
|
|
||||||
if ((contactEntry.getDescription() != null)
|
|
||||||
&& !contactEntry.getDescription().isEmpty()) {
|
|
||||||
Element descElem = contactEntryElem.newChildElement(
|
|
||||||
"description");
|
|
||||||
descElem.setText(contactEntry.getDescription());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (address != null) {
|
|
||||||
Element addressElem = contactElem.newChildElement(
|
|
||||||
"address");
|
|
||||||
Element postalCode = addressElem.newChildElement(
|
|
||||||
"postalCode");
|
|
||||||
postalCode.setText(address.getPostalCode());
|
|
||||||
Element city = addressElem.newChildElement("city");
|
|
||||||
city.setText(address.getCity());
|
|
||||||
Element data = addressElem.newChildElement("address");
|
|
||||||
data.setText(address.getAddress());
|
|
||||||
Element country = addressElem.newChildElement("country");
|
|
||||||
country.setText(address.getIsoCountryCode());
|
|
||||||
Element theState = addressElem.newChildElement("state");
|
|
||||||
theState.setText(address.getState());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void generateGenericContactXML(final GenericContact contact,
|
|
||||||
final Element parent,
|
|
||||||
final PageState state,
|
|
||||||
final String order,
|
|
||||||
final boolean withPerson) {
|
|
||||||
ContactXmlLGenerator generator = new ContactXmlLGenerator(contact);
|
|
||||||
|
|
||||||
generator.generateXML(state, parent, order);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void generateAvailableDataXml(final GenericOrganizationalUnit orga,
|
|
||||||
final Element element,
|
|
||||||
final PageState state) {
|
|
||||||
if ((orga.getContacts() != null)
|
|
||||||
&& (orga.getContacts().size() > 0)
|
|
||||||
&& displayMembers) {
|
|
||||||
element.newChildElement("contacts");
|
|
||||||
}
|
|
||||||
if ((orga.getPersons() != null)
|
|
||||||
&& (orga.getPersons().size() > 0)
|
|
||||||
&& displayMembers) {
|
|
||||||
element.newChildElement("members");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void generateDataXml(final GenericOrganizationalUnit orga,
|
|
||||||
final Element element,
|
|
||||||
final PageState state) {
|
|
||||||
String show = getShowParam(state);
|
|
||||||
if (SHOW_CONTACTS.equals(show)) {
|
|
||||||
generateContactsXML(orga, element, state);
|
|
||||||
} else if (SHOW_MEMBERS.equals(show)) {
|
|
||||||
generateMembersXML(orga, element, state);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void generateXML(ContentItem item,
|
|
||||||
Element element,
|
|
||||||
PageState state) {
|
|
||||||
Element content = generateBaseXML(item, element, state);
|
|
||||||
|
|
||||||
GenericOrganizationalUnit orga = (GenericOrganizationalUnit) item;
|
|
||||||
Element availableData = content.newChildElement("availableData");
|
|
||||||
|
|
||||||
if (!isShowOnlyDefault()) {
|
|
||||||
generateAvailableDataXml(orga, availableData, state);
|
|
||||||
}
|
|
||||||
|
|
||||||
generateDataXml(orga, content, state);
|
|
||||||
|
|
||||||
/*if ((orga.getContacts() != null)
|
|
||||||
&& (orga.getContacts().size() > 0)
|
|
||||||
&& displayMembers) {
|
|
||||||
availableData.newChildElement("contacts");
|
|
||||||
}
|
|
||||||
if ((orga.getPersons() != null)
|
|
||||||
&& (orga.getPersons().size() > 0)
|
|
||||||
&& displayMembers) {
|
|
||||||
availableData.newChildElement("members");
|
|
||||||
}
|
|
||||||
|
|
||||||
String show = getShowParam(state);
|
|
||||||
if (SHOW_CONTACTS.equals(show)) {
|
|
||||||
generateContactsXML(orga, content, state);
|
|
||||||
} else if (SHOW_MEMBERS.equals(show)) {
|
|
||||||
generateMembersXML(orga, content, state);
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
|
||||||
private class ContactXmlLGenerator extends SimpleXMLGenerator {
|
|
||||||
|
|
||||||
private GenericContact contact;
|
|
||||||
|
|
||||||
public ContactXmlLGenerator(final GenericContact contact) {
|
|
||||||
super();
|
|
||||||
this.contact = contact;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected ContentItem getContentItem(PageState state) {
|
|
||||||
return contact;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -32,6 +32,7 @@ import com.arsdigita.bebop.form.SingleSelect;
|
||||||
import com.arsdigita.bebop.parameters.NotNullValidationListener;
|
import com.arsdigita.bebop.parameters.NotNullValidationListener;
|
||||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||||
import com.arsdigita.bebop.parameters.StringParameter;
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
|
import com.arsdigita.cms.ContentBundle;
|
||||||
import com.arsdigita.cms.ContentType;
|
import com.arsdigita.cms.ContentType;
|
||||||
import com.arsdigita.cms.ItemSelectionModel;
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
import com.arsdigita.cms.RelationAttribute;
|
import com.arsdigita.cms.RelationAttribute;
|
||||||
|
|
@ -178,8 +179,6 @@ public class GenericOrganizationalUnitPersonAddForm
|
||||||
if (person == null) {
|
if (person == null) {
|
||||||
GenericPerson personToAdd =
|
GenericPerson personToAdd =
|
||||||
(GenericPerson) data.get(ITEM_SEARCH);
|
(GenericPerson) data.get(ITEM_SEARCH);
|
||||||
personToAdd.getContentBundle().getInstance(orga.getLanguage());
|
|
||||||
|
|
||||||
logger.debug(String.format("Adding person %s",
|
logger.debug(String.format("Adding person %s",
|
||||||
personToAdd.getFullName()));
|
personToAdd.getFullName()));
|
||||||
|
|
||||||
|
|
@ -246,7 +245,7 @@ public class GenericOrganizationalUnitPersonAddForm
|
||||||
|
|
||||||
GenericPerson person = (GenericPerson) data.get(ITEM_SEARCH);
|
GenericPerson person = (GenericPerson) data.get(ITEM_SEARCH);
|
||||||
|
|
||||||
if (!(person.getContentBundle().hasInstance(orga.getLanguage(),
|
/*if (!(person.getContentBundle().hasInstance(orga.getLanguage(),
|
||||||
Kernel.getConfig().
|
Kernel.getConfig().
|
||||||
languageIndependentItems()))) {
|
languageIndependentItems()))) {
|
||||||
data.addError(
|
data.addError(
|
||||||
|
|
@ -254,15 +253,21 @@ public class GenericOrganizationalUnitPersonAddForm
|
||||||
"cms.contenttypes.ui.genericorgaunit.person.no_suitable_language_variant"));
|
"cms.contenttypes.ui.genericorgaunit.person.no_suitable_language_variant"));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
person = (GenericPerson) person.getContentBundle().getInstance(orga.
|
final ContentBundle bundle = person.getContentBundle();
|
||||||
|
final GenericOrganizationalUnitPersonCollection persons =
|
||||||
|
orga.getPersons();
|
||||||
|
persons.addFilter(String.format("id = %s",
|
||||||
|
bundle.getID().toString()));
|
||||||
|
|
||||||
|
/*person = (GenericPerson) person.getContentBundle().getInstance(orga.
|
||||||
getLanguage());
|
getLanguage());
|
||||||
GenericOrganizationalUnitPersonCollection persons =
|
GenericOrganizationalUnitPersonCollection persons =
|
||||||
orga.getPersons();
|
orga.getPersons();
|
||||||
|
|
||||||
persons.addFilter(String.format("id = %s",
|
persons.addFilter(String.format("id = %s",
|
||||||
person.getID().toString()));
|
person.getID().toString()));*/
|
||||||
if (persons.size() > 0) {
|
if (persons.size() > 0) {
|
||||||
data.addError(
|
data.addError(
|
||||||
ContenttypesGlobalizationUtil.globalize(
|
ContenttypesGlobalizationUtil.globalize(
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ import java.math.BigDecimal;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table for showing the persons associated with an organization.
|
* Table for showing the persons associated with an organisation.
|
||||||
*
|
*
|
||||||
* @author Jens Pelzetter
|
* @author Jens Pelzetter
|
||||||
*/
|
*/
|
||||||
|
|
@ -247,9 +247,8 @@ public class GenericOrganizationalUnitPersonsTable extends Table implements
|
||||||
ContentSection section = CMS.getContext().getContentSection();
|
ContentSection section = CMS.getContext().getContentSection();
|
||||||
ItemResolver resolver = section.getItemResolver();
|
ItemResolver resolver = section.getItemResolver();
|
||||||
Link link =
|
Link link =
|
||||||
new Link(String.format("%s (%s)",
|
new Link(String.format("%s",
|
||||||
value.toString(),
|
value.toString()),
|
||||||
person.getLanguage()),
|
|
||||||
resolver.generateItemURL(state,
|
resolver.generateItemURL(state,
|
||||||
person,
|
person,
|
||||||
section,
|
section,
|
||||||
|
|
@ -267,7 +266,7 @@ public class GenericOrganizationalUnitPersonsTable extends Table implements
|
||||||
return new Label(value.toString());
|
return new Label(value.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
Label label = new Label(String.format("%s (%s)",
|
Label label = new Label(String.format("%s",
|
||||||
value.toString(),
|
value.toString(),
|
||||||
person.getLanguage()));
|
person.getLanguage()));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ import com.arsdigita.cms.ContentType;
|
||||||
import com.arsdigita.cms.Folder;
|
import com.arsdigita.cms.Folder;
|
||||||
import com.arsdigita.cms.ItemSelectionModel;
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
import com.arsdigita.cms.contenttypes.GenericPerson;
|
import com.arsdigita.cms.contenttypes.GenericPerson;
|
||||||
|
import com.arsdigita.cms.contenttypes.GenericPersonBundle;
|
||||||
import com.arsdigita.cms.ui.authoring.ApplyWorkflowFormSection;
|
import com.arsdigita.cms.ui.authoring.ApplyWorkflowFormSection;
|
||||||
import com.arsdigita.cms.ui.authoring.CreationSelector;
|
import com.arsdigita.cms.ui.authoring.CreationSelector;
|
||||||
import com.arsdigita.cms.ui.authoring.LanguageWidget;
|
import com.arsdigita.cms.ui.authoring.LanguageWidget;
|
||||||
|
|
@ -100,7 +101,7 @@ public class GenericPersonCreate extends PageCreate {
|
||||||
item.setLaunchDate((Date) data.get(LAUNCH_DATE));
|
item.setLaunchDate((Date) data.get(LAUNCH_DATE));
|
||||||
}
|
}
|
||||||
|
|
||||||
final ContentBundle bundle = new ContentBundle(item);
|
final GenericPersonBundle bundle = new GenericPersonBundle(item);
|
||||||
bundle.setParent(folder);
|
bundle.setParent(folder);
|
||||||
bundle.setContentSection(m_parent.getContentSection(state));
|
bundle.setContentSection(m_parent.getContentSection(state));
|
||||||
bundle.save();
|
bundle.save();
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import com.arsdigita.cms.ContentSection;
|
||||||
import com.arsdigita.cms.ContentType;
|
import com.arsdigita.cms.ContentType;
|
||||||
import com.arsdigita.cms.Folder;
|
import com.arsdigita.cms.Folder;
|
||||||
import com.arsdigita.cms.ItemSelectionModel;
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitBundle;
|
||||||
import com.arsdigita.cms.contenttypes.Publisher;
|
import com.arsdigita.cms.contenttypes.Publisher;
|
||||||
import com.arsdigita.cms.ui.authoring.ApplyWorkflowFormSection;
|
import com.arsdigita.cms.ui.authoring.ApplyWorkflowFormSection;
|
||||||
import com.arsdigita.cms.ui.authoring.CreationSelector;
|
import com.arsdigita.cms.ui.authoring.CreationSelector;
|
||||||
|
|
@ -55,7 +56,8 @@ public class PublisherCreate extends PageCreate {
|
||||||
add(new Label(GlobalizationUtil.globalize(
|
add(new Label(GlobalizationUtil.globalize(
|
||||||
"cms.ui.authoring.page_launch_date")));
|
"cms.ui.authoring.page_launch_date")));
|
||||||
ParameterModel launchDateParam = new DateParameter(LAUNCH_DATE);
|
ParameterModel launchDateParam = new DateParameter(LAUNCH_DATE);
|
||||||
com.arsdigita.bebop.form.Date launchDate = new com.arsdigita.bebop.form.Date(
|
com.arsdigita.bebop.form.Date launchDate =
|
||||||
|
new com.arsdigita.bebop.form.Date(
|
||||||
launchDateParam);
|
launchDateParam);
|
||||||
if (ContentSection.getConfig().getRequireLaunchDate()) {
|
if (ContentSection.getConfig().getRequireLaunchDate()) {
|
||||||
launchDate.addValidationListener(
|
launchDate.addValidationListener(
|
||||||
|
|
@ -92,7 +94,9 @@ public class PublisherCreate extends PageCreate {
|
||||||
item.setLaunchDate((Date) data.get(LAUNCH_DATE));
|
item.setLaunchDate((Date) data.get(LAUNCH_DATE));
|
||||||
}
|
}
|
||||||
|
|
||||||
final ContentBundle bundle = new ContentBundle(item);
|
final GenericOrganizationalUnitBundle bundle =
|
||||||
|
new GenericOrganizationalUnitBundle(
|
||||||
|
item);
|
||||||
bundle.setParent(folder);
|
bundle.setParent(folder);
|
||||||
bundle.setContentSection(section);
|
bundle.setContentSection(section);
|
||||||
bundle.save();
|
bundle.save();
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
objectType="com.arsdigita.cms.contenttypes.SciDepartment"
|
objectType="com.arsdigita.cms.contenttypes.SciDepartment"
|
||||||
classname="com.arsdigita.cms.contenttypes.SciDepartment">
|
classname="com.arsdigita.cms.contenttypes.SciDepartment">
|
||||||
|
|
||||||
<ctd:authoring-kit createComponent="com.arsdigita.cms.ui.authoring.PageCreate">
|
<ctd:authoring-kit createComponent="com.arsdigita.cms.contenttypes.ui.GenericOrganizationalUnitCreate">
|
||||||
|
|
||||||
<ctd:authoring-step
|
<ctd:authoring-step
|
||||||
labelKey="sciorganization.ui.department_properties.title"
|
labelKey="sciorganization.ui.department_properties.title"
|
||||||
|
|
|
||||||
|
|
@ -126,8 +126,7 @@ public class SciDepartmentSummaryTab implements GenericOrgaUnitTab {
|
||||||
getPersons();
|
getPersons();
|
||||||
heads.addFilter(roleFilter.toString());
|
heads.addFilter(roleFilter.toString());
|
||||||
heads.addFilter(statusFilter.toString());
|
heads.addFilter(statusFilter.toString());
|
||||||
heads.addOrder("surname");
|
heads.addOrder("name");
|
||||||
heads.addOrder("givenname");
|
|
||||||
|
|
||||||
while (heads.next()) {
|
while (heads.next()) {
|
||||||
generateHeadXml(heads.getPerson(), headsElem, state);
|
generateHeadXml(heads.getPerson(), headsElem, state);
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
objectType="com.arsdigita.cms.contenttypes.SciInstitute"
|
objectType="com.arsdigita.cms.contenttypes.SciInstitute"
|
||||||
classname="com.arsdigita.cms.contenttypes.SciInstitute">
|
classname="com.arsdigita.cms.contenttypes.SciInstitute">
|
||||||
|
|
||||||
<ctd:authoring-kit createComponent="com.arsdigita.cms.ui.authoring.PageCreate">
|
<ctd:authoring-kit createComponent="com.arsdigita.cms.contenttypes.ui.GenericOrganizationalUnitCreate">
|
||||||
|
|
||||||
<ctd:authoring-step
|
<ctd:authoring-step
|
||||||
labelKey="sciorganization.ui.institute_properties.title"
|
labelKey="sciorganization.ui.institute_properties.title"
|
||||||
|
|
|
||||||
|
|
@ -126,8 +126,7 @@ public class SciInstituteSummaryTab implements GenericOrgaUnitTab {
|
||||||
getPersons();
|
getPersons();
|
||||||
heads.addFilter(roleFilter.toString());
|
heads.addFilter(roleFilter.toString());
|
||||||
heads.addFilter(statusFilter.toString());
|
heads.addFilter(statusFilter.toString());
|
||||||
heads.addOrder("surname");
|
heads.addOrder("name");
|
||||||
heads.addOrder("givenname");
|
|
||||||
|
|
||||||
while (heads.next()) {
|
while (heads.next()) {
|
||||||
generateMemberXml(heads.getPerson(), headsElem, state);
|
generateMemberXml(heads.getPerson(), headsElem, state);
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
objectType="com.arsdigita.cms.contenttypes.SciProject"
|
objectType="com.arsdigita.cms.contenttypes.SciProject"
|
||||||
classname="com.arsdigita.cms.contenttypes.SciProject">
|
classname="com.arsdigita.cms.contenttypes.SciProject">
|
||||||
|
|
||||||
<ctd:authoring-kit createComponent="com.arsdigita.cms.ui.authoring.PageCreate">
|
<ctd:authoring-kit createComponent="com.arsdigita.cms.contenttypes.ui.GenericOrganizationalUnitCreate">
|
||||||
|
|
||||||
<ctd:authoring-step
|
<ctd:authoring-step
|
||||||
labelKey="sciorganization.ui.project_properties.title"
|
labelKey="sciorganization.ui.project_properties.title"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue