BaseContact
Erste Teile der UI fertig. git-svn-id: https://svn.libreccm.org/ccm/trunk@208 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
01b0a62c57
commit
18691e4102
|
|
@ -8,6 +8,8 @@
|
||||||
<ccm:dependencies>
|
<ccm:dependencies>
|
||||||
<ccm:requires name="ccm-core" version="6.6.0" relation="ge"/>
|
<ccm:requires name="ccm-core" version="6.6.0" relation="ge"/>
|
||||||
<ccm:requires name="ccm-cms" version="6.6.0" relation="ge"/>
|
<ccm:requires name="ccm-cms" version="6.6.0" relation="ge"/>
|
||||||
|
<ccm:requires name="ccm-cms-types-person" version="6.6.0" relation="ge"/>
|
||||||
|
<ccm:requires name="ccm-cms-types-baseAddress" version="6.6.0" relation="ge"/>
|
||||||
</ccm:dependencies>
|
</ccm:dependencies>
|
||||||
<ccm:directories>
|
<ccm:directories>
|
||||||
<ccm:directory name="pdl"/>
|
<ccm:directory name="pdl"/>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: ccm-build.sh,v 1.1.1.1 2004/11/12 09:29:59 fabrice Exp $
|
|
||||||
|
|
||||||
. debian/ccm-settings.sh
|
|
||||||
|
|
||||||
# for eg Oracle jar
|
|
||||||
CLASSPATH=./lib/:$CLASSPATH
|
|
||||||
$ANT build-${name}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: ccm-clean.sh,v 1.1.1.1 2004/11/12 09:30:09 fabrice Exp $
|
|
||||||
|
|
||||||
. debian/ccm-settings.sh
|
|
||||||
|
|
||||||
[ -f build.xml ] && $ANT clean-${appname}
|
|
||||||
|
|
||||||
rm -rf build build.xml ccm.classpath
|
|
||||||
|
|
||||||
# ccm-disperse.sh creates the .install files automatically, so let's clean them too.
|
|
||||||
|
|
||||||
rm -f ${appname}.install ${appname}-doc.install
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
usr/share/java/ccm-cms-types-organization-6.3.0
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: ccm-config.sh,v 1.1.1.1 2004/11/12 09:29:59 fabrice Exp $
|
|
||||||
|
|
||||||
. debian/ccm-settings.sh
|
|
||||||
|
|
||||||
if [ ! -L $name ]; then
|
|
||||||
ln -s . $name
|
|
||||||
fi
|
|
||||||
ccm-create-projectxml.pl > project.xml
|
|
||||||
ccm-configure.sh
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: ccm-disperse.sh,v 1.1.1.1 2004/11/12 09:30:09 fabrice Exp $
|
|
||||||
|
|
||||||
. debian/ccm-settings.sh
|
|
||||||
|
|
||||||
SRCDIR="$1"
|
|
||||||
[ "x$SRCDIR" != "x" ] || exit 1
|
|
||||||
|
|
||||||
# automatically generate the .install file lists for dh_install:
|
|
||||||
|
|
||||||
(cd $SRCDIR && find . -type f \
|
|
||||||
| grep -v DEBIAN \
|
|
||||||
| grep -v var/www/html \
|
|
||||||
| sed -e 's/^\.\/*\(.*\)/\1/' -e '/./,/^$/!d') > debian/${name}.install
|
|
||||||
|
|
||||||
(cd $SRCDIR && find . -type f -path './var/www/html/*' \
|
|
||||||
| sed -e 's/^\.\/*\(.*\)/\1/' -e '/./,/^$/!d') > debian/${name}-doc.install
|
|
||||||
|
|
||||||
# for some reason, dh_install doesn't work properly; let's disperse the files ourselves:
|
|
||||||
|
|
||||||
for pkg in ${name} ${name}-doc; do
|
|
||||||
# skip this package if mentioned in CCM_DEBIAN_NO_PACKAGES
|
|
||||||
[ `echo $CCM_DEBIAN_NO_PACKAGES | tr ' ' '\n' | grep -c "^${pkg}$"` -eq 1 ] && continue || true
|
|
||||||
|
|
||||||
# this should exist [due to dh_installdocs, dh_installchangelog], but just in case...
|
|
||||||
mkdir -p debian/$pkg
|
|
||||||
|
|
||||||
[ -e debian/${pkg}.install ] && \
|
|
||||||
echo -n "Dispersing files to debian/$pkg/ ... " && \
|
|
||||||
for file in `cat debian/${pkg}.install`; do
|
|
||||||
dir=`dirname $file`
|
|
||||||
mkdir -p debian/$pkg/$dir
|
|
||||||
cp $SRCDIR/$file debian/$pkg/$dir/
|
|
||||||
done
|
|
||||||
echo "done."
|
|
||||||
done
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: ccm-install.sh,v 1.1.1.1 2004/11/12 09:29:59 fabrice Exp $
|
|
||||||
|
|
||||||
. debian/ccm-settings.sh
|
|
||||||
|
|
||||||
DESTDIR="$1"
|
|
||||||
[ "xDESTDIR" != "x" ] || exit 1
|
|
||||||
|
|
||||||
rm -rf $DESTDIR
|
|
||||||
mkdir -p $DESTDIR
|
|
||||||
mkdir -p $DESTDIR${confdir}
|
|
||||||
mkdir -p $DESTDIR/var/www/html/${name}-${version}
|
|
||||||
|
|
||||||
ANT_OPTS="-Dapps.${name}.version=${version}"
|
|
||||||
ANT_OPTS="$ANT_OPTS -Ddeploy.conf.dir=$DESTDIR${confdir}"
|
|
||||||
ANT_OPTS="$ANT_OPTS -Ddeploy.shared.lib.dir=$DESTDIR${sharedjardir}"
|
|
||||||
ANT_OPTS="$ANT_OPTS -Ddeploy.private.lib.dir=$DESTDIR${sharedjardir}/${name}-${version}"
|
|
||||||
ANT_OPTS="$ANT_OPTS -Ddeploy.webapp.dir=$DESTDIR${webappdir}/${name}-${version}"
|
|
||||||
ANT_OPTS="$ANT_OPTS -Ddeploy.system.jars.dir=$DESTDIR${sharedjardir}"
|
|
||||||
ANT_OPTS="$ANT_OPTS -Ddeploy.api.dir.${appname}=$DESTDIR/var/www/html/${name}-${version}/api"
|
|
||||||
ANT_OPTS="$ANT_OPTS -Ddeploy.shared.classes.dir=$DESTDIR/tmp/${name}-${version}"
|
|
||||||
export ANT_OPTS
|
|
||||||
|
|
||||||
$ANT deploy-jar-classes-${appname}
|
|
||||||
$ANT deploy-${appname}
|
|
||||||
|
|
||||||
rm -rf "$DESTDIR/tmp"
|
|
||||||
|
|
||||||
|
|
||||||
# only generate and deploy javadocs if we didn't specify otherwise in CCM_DEBIAN_NO_JAVADOC
|
|
||||||
|
|
||||||
GENERATE_JAVADOC=true
|
|
||||||
if [ `echo $CCM_DEBIAN_NO_JAVADOC | tr ' ' '\n' | grep -c "^${name}-doc$"` -eq 1 ]; then
|
|
||||||
GENERATE_JAVADOC=false
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d ${appname}/src ]; then
|
|
||||||
$ANT deploy-jar-classes-${appname}
|
|
||||||
[ "$GENERATE_JAVADOC" == "true" ] && $ANT deploy-javadoc-${appname} || true
|
|
||||||
fi
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: ccm-settings.sh,v 1.1.1.1 2004/11/12 09:29:59 fabrice Exp $
|
|
||||||
|
|
||||||
# say which app to compile, amongst those specified in the project.xml
|
|
||||||
export CCM_APP=$name
|
|
||||||
|
|
||||||
# do some checks
|
|
||||||
|
|
||||||
check_JAVA_HOME
|
|
||||||
|
|
||||||
if [ "$name" = "ccm-core" ]; then
|
|
||||||
check_ORACLE_JDBC_LIB
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# set the environment
|
|
||||||
|
|
||||||
for file in `echo /etc/profile.d/ccm-{tools,devel,scripts}.sh`; do
|
|
||||||
. $file
|
|
||||||
done
|
|
||||||
|
|
||||||
cd ..
|
|
||||||
. $CCM_SCRIPTS_HOME/bin/env-conf.sh ${appname} > /dev/null
|
|
||||||
cd -
|
|
||||||
export CCM_HOME=`pwd`
|
|
||||||
|
|
||||||
if which classic-ant > /dev/null 2>&1; then
|
|
||||||
ANT=classic-ant
|
|
||||||
else
|
|
||||||
ANT=ant
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# perhaps we don't like to build some packages -- get them from DH_OPTIONS
|
|
||||||
|
|
||||||
export CCM_DEBIAN_NO_PACKAGES=`echo $DH_OPTIONS | tr -s ' ' '\n' | grep -E '(-N|--no-package=)' | xargs | sed -re 's/(-N|--no-package)//g'`
|
|
||||||
|
|
||||||
# for now, assume that if we don't want to build some packages then we don't
|
|
||||||
# want to generate javadocs for them either
|
|
||||||
|
|
||||||
export CCM_DEBIAN_NO_JAVADOC="$CCM_DEBIAN_NO_JAVADOC $CCM_DEBIAN_NO_PACKAGES"
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: ccm-settings.sh,v 1.1.1.1 2004/11/12 09:29:59 fabrice Exp $
|
|
||||||
|
|
||||||
# source the shell library [for the check_* functions]
|
|
||||||
# FIXME: ugly-looking hack.
|
|
||||||
orig_DEBIAN_HAS_FRONTEND=$DEBIAN_HAS_FRONTEND
|
|
||||||
DEBIAN_HAS_FRONTEND=1
|
|
||||||
. /usr/share/ccm-tools/lib/shellmodule
|
|
||||||
DEBIAN_HAS_FRONTEND=$orig_DEBIAN_HAS_FRONTEND
|
|
||||||
|
|
||||||
|
|
||||||
# variables we use [especially in ccm-install.sh]
|
|
||||||
|
|
||||||
name=ccm-cms-types-organization
|
|
||||||
version=6.3.0
|
|
||||||
appname=ccm-cms-types-organization
|
|
||||||
appversion=6.3.0
|
|
||||||
confdir="/etc/ccm/conf"
|
|
||||||
sharedjardir="/usr/share/java"
|
|
||||||
webappdir="/usr/share/java/webapps"
|
|
||||||
ccmclasspathfile="ccm/ccm.classpath"
|
|
||||||
ccmwebappfile="ccm/ccm.webapps"
|
|
||||||
|
|
||||||
. debian/ccm-settings-run.sh
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
ccm-cms-types-organization (6.3.0-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* Automatic update of version number from 6.2.0 to 6.3.0
|
|
||||||
|
|
||||||
-- Runtime Collective Ltd. <info@runtime-collective.com> Mon, 10 Oct 2005 13:51:58 +0000
|
|
||||||
|
|
||||||
ccm-cms-types-organization (6.2.0-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* Automatic update of version number from 6.1.1 to 6.2.0
|
|
||||||
|
|
||||||
-- Runtime Collective Ltd. <info@runtime-collective.com> Mon, 10 Oct 2005 12:30:08 +0000
|
|
||||||
|
|
||||||
ccm-cms-types-organization (6.1.1-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* Automatic update of version number from 6.1.0 to 6.1.1
|
|
||||||
|
|
||||||
-- Runtime Collective Ltd. <info@runtime-collective.com> Thu, 31 Mar 2005 11:59:53 +0000
|
|
||||||
|
|
||||||
ccm-cms-types-organization (6.1.0-5) unstable; urgency=low
|
|
||||||
|
|
||||||
* Depend on j2sdk1.4 | java2-compiler
|
|
||||||
* Update to policy 3.6.1
|
|
||||||
* Change maintainer to the mailing list and add uploaders
|
|
||||||
|
|
||||||
-- David Pashley <david@runtime-collective.com> Mon, 14 Feb 2005 16:55:52 +0000
|
|
||||||
|
|
||||||
ccm-cms-types-organization (6.1.0-4) unstable; urgency=low
|
|
||||||
|
|
||||||
* debian/postrm: disabled the purge operations [had some weird problems].
|
|
||||||
* updated the debian control scripts to get the package name and version from their invocation.
|
|
||||||
|
|
||||||
-- Berkan Eskikaya <berkan@runtime-collective.com> Mon, 10 May 2004 12:33:33 +0100
|
|
||||||
|
|
||||||
ccm-cms-types-organization (6.1.0-3) unstable; urgency=low
|
|
||||||
|
|
||||||
* debian/templates: made load-at-install and setup-database-at-install the default behaviour.
|
|
||||||
* debian/postinst: ccm_hostinit will try to use web.xml-aplaws from ccm-ldn-aplaws.
|
|
||||||
* debian/ccm-settings.sh: correct checking/setting of ORACLE_JDBC_LIB [Chris].
|
|
||||||
* debian/templates: changed the default postgresql database and user names to "ccm01.db" and "ccm".
|
|
||||||
* debian/config: added detection of the hostname of the machine and possibly the user's email.
|
|
||||||
* major restructuring of the debian scripts: moved all utility functions to ccm-tools and made postinst, postrm, prerm and ccm-settings.sh source and use that file.
|
|
||||||
|
|
||||||
-- Berkan Eskikaya <berkan@runtime-collective.com> Fri, 7 May 2004 13:04:43 +0100
|
|
||||||
|
|
||||||
ccm-cms-types-organization (6.1.0-2) unstable; urgency=low
|
|
||||||
|
|
||||||
* The build process now tries to automatically detect JAVA_HOME and the location of Oracle's java library.
|
|
||||||
* debian/ccm-clean.sh: only calls the ant process if build.xml exists.
|
|
||||||
* debian/{postinst,prerm,config,templates}: added debconf support
|
|
||||||
* debian/postinst: accepts 'reconfigure' and treats it as 'configure'.
|
|
||||||
* debian/postinst: added postgresql.jar to CLASSPATH; added libpgjava to the dependencies.
|
|
||||||
* debian/postinst: removed some bashisms upon recommendation from lintian.
|
|
||||||
* debian/rules: enabled dh_installdebconf.
|
|
||||||
* debian/control: made the package depend on debconf.
|
|
||||||
|
|
||||||
-- Berkan Eskikaya <berkan@runtime-collective.com> Fri, 1 May 2004 15:41:43 +0100
|
|
||||||
|
|
||||||
|
|
||||||
ccm-cms-types-organization (6.1.0-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* Initial release.
|
|
||||||
|
|
||||||
-- Berkan Eskikaya <berkan@runtime-collective.com> Fri, 24 Apr 2004 12:27:56 +0100
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
4
|
|
||||||
|
|
@ -1,79 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: config,v 1.1.1.1 2004/11/12 09:30:09 fabrice Exp $
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
. /usr/share/debconf/confmodule
|
|
||||||
db_capb backup
|
|
||||||
|
|
||||||
HOSTNAME=`hostname -f` 2>/dev/null || true
|
|
||||||
|
|
||||||
if [ -n "$HOSTNAME" ]; then
|
|
||||||
db_metaget ccm/shared/waf_web_server default || true
|
|
||||||
PORTNUM=`echo $RET | cut -d: -f2`
|
|
||||||
db_set ccm/shared/waf_web_server "$HOSTNAME:$PORTNUM" || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "$EMAIL" ]; then
|
|
||||||
db_set ccm/shared/waf_admin_email "$EMAIL" || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
STATE=1
|
|
||||||
LASTSTATE=5
|
|
||||||
|
|
||||||
while [ "$STATE" != 0 -a "$STATE" -le "$LASTSTATE" ]; do
|
|
||||||
case "$STATE" in
|
|
||||||
1)
|
|
||||||
# Database questions
|
|
||||||
db_input high ccm/shared/dbase_type || true
|
|
||||||
db_input high ccm/shared/dbase_host || true
|
|
||||||
db_input high ccm/shared/dbase_name || true
|
|
||||||
db_input high ccm/shared/dbase_user || true
|
|
||||||
db_input high ccm/shared/dbase_password || true
|
|
||||||
|
|
||||||
;;
|
|
||||||
2)
|
|
||||||
# Server address
|
|
||||||
db_input high ccm/shared/waf_web_server || true
|
|
||||||
;;
|
|
||||||
3)
|
|
||||||
# Admin questions
|
|
||||||
db_input high ccm/shared/waf_admin_email || true
|
|
||||||
db_input high ccm/shared/waf_admin_name_given || true
|
|
||||||
db_input high ccm/shared/waf_admin_name_family || true
|
|
||||||
db_input high ccm/shared/waf_admin_password || true
|
|
||||||
db_input high ccm/shared/waf_admin_password_question || true
|
|
||||||
db_input high ccm/shared/waf_admin_password_answer || true
|
|
||||||
;;
|
|
||||||
4)
|
|
||||||
# When to load the applications
|
|
||||||
db_input medium ccm/shared/ccm_load_apps_at_install_p || true
|
|
||||||
;;
|
|
||||||
5)
|
|
||||||
# Whether to set up the [local] database
|
|
||||||
db_get ccm/shared/dbase_host || true
|
|
||||||
if [ "$RET" = "localhost" ]; then
|
|
||||||
db_input medium ccm/shared/pg_set_up_database_p || true
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
# Add additional states here, making sure to
|
|
||||||
# increment LASTSTATE.
|
|
||||||
esac
|
|
||||||
|
|
||||||
if db_go; then
|
|
||||||
STATE=$(($STATE + 1))
|
|
||||||
else
|
|
||||||
STATE=$(($STATE - 1))
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
db_go || true
|
|
||||||
|
|
||||||
db_stop
|
|
||||||
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
Source: ccm-cms-types-organization
|
|
||||||
Section: contrib/web
|
|
||||||
Priority: optional
|
|
||||||
Maintainer: Runtime Packaging <runtime-packaging@runtime-collective.com>
|
|
||||||
Uploaders: David Pashley <david@runtime-collective.com>
|
|
||||||
Build-Depends-Indep: debhelper (>= 4.0.0), j2re1.4 | java2-runtime, j2sdk1.4 | java2-compiler, ant, libservlet2.3-java, libpgjava, debconf, po-debconf, ccm-tools, ccm-devel, ccm-scripts, ccm-core, ccm-cms
|
|
||||||
Standards-Version: 3.6.1
|
|
||||||
|
|
||||||
Package: ccm-cms-types-organization
|
|
||||||
Architecture: all
|
|
||||||
Depends: java-virtual-machine-dummy | j2sdk1.4 | java-virtual-machine, ccm-tools, ccm-servlet-container, libservlet2.3-java, libpgjava, liblog4j1.2-java , ccm-core, ccm-cms
|
|
||||||
Description: APLAWS: Stores organization information.
|
|
||||||
This package contains the Red Hat CCM Content Types application for APLAWS.
|
|
||||||
.
|
|
||||||
FIXME: We need a longer and more meaningful description here.
|
|
||||||
|
|
||||||
Package: ccm-cms-types-organization-doc
|
|
||||||
Architecture: all
|
|
||||||
Depends: ccm-tools
|
|
||||||
Description: Documentation for ccm-cms-types-organization
|
|
||||||
Documentation for ccm-cms-types-organization. Provides the JavaDoc API documentation.
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
This package was debianized by Berkan Eskikaya <berkan@runtime-collective.com> on
|
|
||||||
Tue, 13 Apr 2004 19:03:14 +0100.
|
|
||||||
|
|
||||||
It was downloaded from http://aplaws.sourceforge.net/
|
|
||||||
|
|
||||||
Upstream Authors: Redhat UK.
|
|
||||||
|
|
||||||
Copyright:
|
|
||||||
|
|
||||||
You are free to distribute this software under the terms of
|
|
||||||
the GNU General Public License.
|
|
||||||
On Debian systems, the complete text of the GNU General Public
|
|
||||||
License can be found in the file `/usr/share/common-licenses/GPL'.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,112 +0,0 @@
|
||||||
#! /bin/sh
|
|
||||||
# postinst script for ccm-cms-types-organization
|
|
||||||
#
|
|
||||||
# see: dh_installdeb(1)
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: postinst,v 1.1.1.1 2004/11/12 09:30:09 fabrice Exp $
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
. /usr/share/debconf/confmodule
|
|
||||||
. /usr/share/ccm-tools/lib/shellmodule
|
|
||||||
|
|
||||||
# summary of how this script can be called:
|
|
||||||
# * <postinst> `configure' <most-recently-configured-version>
|
|
||||||
# * <old-postinst> `abort-upgrade' <new version>
|
|
||||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
|
||||||
# <new-version>
|
|
||||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
|
||||||
# <failed-install-package> <version> `removing'
|
|
||||||
# <conflicting-package> <version>
|
|
||||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
|
||||||
# the debian-policy package
|
|
||||||
#
|
|
||||||
# quoting from the policy:
|
|
||||||
# Any necessary prompting should almost always be confined to the
|
|
||||||
# post-installation script, and should be protected with a conditional
|
|
||||||
# so that unnecessary prompting doesn't happen if a package's
|
|
||||||
# installation fails and the `postinst' is called with `abort-upgrade',
|
|
||||||
# `abort-remove' or `abort-deconfigure'.
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
configure|reconfigure)
|
|
||||||
# FIXME: we need to be sensitive to upgrade operations here.
|
|
||||||
# basically, if pkgversion = appversion, then the datamodel
|
|
||||||
# hasn't changed -- we just configure the package and don't
|
|
||||||
# touch the database; else, we need to also update the
|
|
||||||
# datamodel in the database.
|
|
||||||
|
|
||||||
|
|
||||||
### get the settings for the operations below
|
|
||||||
|
|
||||||
ccm_set_env
|
|
||||||
db_get_ccm_settings ;# db_stop
|
|
||||||
|
|
||||||
get_pkgname_from_arg "$0"
|
|
||||||
ccm_package_name="$RET"
|
|
||||||
get_pkgversion_from_dpkg "$ccm_package_name"
|
|
||||||
ccm_package_version="$RET"
|
|
||||||
|
|
||||||
|
|
||||||
### do the usual post-installion configuration
|
|
||||||
|
|
||||||
if [ ! -d "/etc/ccm" ]; then
|
|
||||||
db_message "ccm/shared/error_etc_ccm_missing_dir"
|
|
||||||
mkdir -p "/etc/ccm"
|
|
||||||
fi
|
|
||||||
|
|
||||||
ccm_update_ccm_classpath add $ccm_package_name $ccm_package_version
|
|
||||||
ccm_update_ccm_webapps add $ccm_package_name $ccm_package_version
|
|
||||||
ccm_update_file_attributes $ccm_package_name $ccm_package_version
|
|
||||||
|
|
||||||
|
|
||||||
### try to set up the database if asked to do so
|
|
||||||
|
|
||||||
if [ "$pg_set_up_database_p" = "true" ]; then
|
|
||||||
pg_set_up_database
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
### try to load the application if asked to do so
|
|
||||||
|
|
||||||
if [ "$ccm_load_apps_at_install_p" = "true" -a -n "$JAVA_HOME" ]; then
|
|
||||||
ccm_load
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
### run the hostinit step
|
|
||||||
|
|
||||||
if [ -n "$JAVA_HOME" ]; then
|
|
||||||
tomcat_http_port=`echo $waf_web_server | cut -d':' -f2` || true
|
|
||||||
tomcat_shutdown_port=`expr $tomcat_http_port + 1` || true
|
|
||||||
ccm_host_init tomcat $tomcat_http_port $tomcat_shutdown_port
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
### don't give others the registry details [eg the database password] on a golden plate
|
|
||||||
# FIXME: this interferes with "ccm load" updating the registry. Need to find the right ownership.
|
|
||||||
# chmod -R o-rwx /etc/ccm/conf/registry || true
|
|
||||||
|
|
||||||
;;
|
|
||||||
|
|
||||||
abort-upgrade|abort-remove|abort-deconfigure)
|
|
||||||
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo "postinst called with unknown argument \`$1'" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
# dh_installdeb will replace this with shell code automatically
|
|
||||||
# generated by other debhelper scripts.
|
|
||||||
|
|
||||||
#DEBHELPER#
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
#! /bin/sh
|
|
||||||
# postrm script for ccm-cms-types-organization
|
|
||||||
#
|
|
||||||
# see: dh_installdeb(1)
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: postrm,v 1.1.1.1 2004/11/12 09:30:09 fabrice Exp $
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
. /usr/share/debconf/confmodule
|
|
||||||
. /usr/share/ccm-tools/lib/shellmodule
|
|
||||||
|
|
||||||
db_get_ccm_settings
|
|
||||||
|
|
||||||
get_pkgname_from_arg "$0"
|
|
||||||
ccm_package_name="$RET"
|
|
||||||
get_pkgversion_from_dpkg "$ccm_package_name"
|
|
||||||
ccm_package_version="$RET"
|
|
||||||
|
|
||||||
if [ "$ccm_package_name" != "ccm-core" ]; then
|
|
||||||
exit 0 ;# nothing to do
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
purge-FIXME)
|
|
||||||
# FIXME: there are problems with this, so disabling for the moment.
|
|
||||||
|
|
||||||
# maybe drop the database
|
|
||||||
if [ "$dbase_host" = "localhost" ]; then
|
|
||||||
|
|
||||||
db_input high ccm/shared/pg_drop_database_at_purge_p || true
|
|
||||||
db_go
|
|
||||||
db_stop
|
|
||||||
|
|
||||||
if [ "$pg_drop_database_at_purge_p" = "true" ]; then
|
|
||||||
su - postgres -c "dropdb $dbase_name" 1>&2 || true
|
|
||||||
su - postgres -c "dropuser $dbase_user" 1>&2 || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
# FIXME: should we still remove /etc/ccm/conf/registry/registry.properties,
|
|
||||||
# even if we don't or fail to drop the database.
|
|
||||||
rm -rf /etc/ccm/conf/registry/*
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
# Nothing to do here.
|
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
|
||||||
|
|
||||||
# dh_installdeb will replace this with shell code automatically
|
|
||||||
# generated by other debhelper scripts.
|
|
||||||
|
|
||||||
#DEBHELPER#
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
#! /bin/sh
|
|
||||||
# prerm script for ccm-cms-types-organization
|
|
||||||
#
|
|
||||||
# see: dh_installdeb(1)
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: prerm,v 1.1.1.1 2004/11/12 09:30:09 fabrice Exp $
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
. /usr/share/debconf/confmodule
|
|
||||||
. /usr/share/ccm-tools/lib/shellmodule
|
|
||||||
|
|
||||||
# summary of how this script can be called:
|
|
||||||
# * <prerm> `remove'
|
|
||||||
# * <old-prerm> `upgrade' <new-version>
|
|
||||||
# * <new-prerm> `failed-upgrade' <old-version>
|
|
||||||
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
|
|
||||||
# * <deconfigured's-prerm> `deconfigure' `in-favour'
|
|
||||||
# <package-being-installed> <version> `removing'
|
|
||||||
# <conflicting-package> <version>
|
|
||||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
|
||||||
# the debian-policy package
|
|
||||||
|
|
||||||
db_get_ccm_settings ; db_stop
|
|
||||||
|
|
||||||
get_pkgname_from_arg "$0"
|
|
||||||
ccm_package_name="$RET"
|
|
||||||
get_pkgversion_from_dpkg "$ccm_package_name"
|
|
||||||
ccm_package_version="$RET"
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
remove|purge|upgrade|deconfigure)
|
|
||||||
|
|
||||||
ccm_update_ccm_classpath remove $ccm_package_name $ccm_package_version
|
|
||||||
ccm_update_ccm_webapps remove $ccm_package_name $ccm_package_version
|
|
||||||
;;
|
|
||||||
|
|
||||||
failed-upgrade|abort-install|abort-upgrade|disappear)
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo "prerm called with unknown argument \`$1'" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ "$1" = "remove" -a "$ccm_package_name" = "ccm-core" -a -x "/etc/init.d/ccm" ]; then
|
|
||||||
invoke-rc.d ccm stop || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# dh_installdeb will replace this with shell code automatically
|
|
||||||
# generated by other debhelper scripts.
|
|
||||||
|
|
||||||
#DEBHELPER#
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
|
|
@ -1,84 +0,0 @@
|
||||||
#!/usr/bin/make -f
|
|
||||||
# debian/rules that uses debhelper.
|
|
||||||
# This file is public domain software, originally written by Joey Hess.
|
|
||||||
#
|
|
||||||
# This version is for packages that are architecture independent.
|
|
||||||
#
|
|
||||||
# Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
#
|
|
||||||
# $Id: rules,v 1.1.1.1 2004/11/12 09:30:00 fabrice Exp $
|
|
||||||
|
|
||||||
# Uncomment this to turn on verbose mode.
|
|
||||||
#export DH_VERBOSE=1
|
|
||||||
|
|
||||||
build.xml:
|
|
||||||
dh_testdir
|
|
||||||
# Add here commands to configure the package.
|
|
||||||
@sh debian/ccm-config.sh
|
|
||||||
|
|
||||||
build: build-stamp
|
|
||||||
build-stamp: build.xml
|
|
||||||
dh_testdir
|
|
||||||
|
|
||||||
# Add here commands to compile the package.
|
|
||||||
@sh debian/ccm-build.sh
|
|
||||||
|
|
||||||
touch build-stamp
|
|
||||||
|
|
||||||
clean:
|
|
||||||
dh_testdir
|
|
||||||
dh_testroot
|
|
||||||
rm -f build-stamp
|
|
||||||
|
|
||||||
# Add here commands to clean up after the build process.
|
|
||||||
@sh debian/ccm-clean.sh
|
|
||||||
|
|
||||||
dh_clean
|
|
||||||
|
|
||||||
install: build
|
|
||||||
dh_testdir
|
|
||||||
dh_testroot
|
|
||||||
dh_clean -k
|
|
||||||
dh_installdirs
|
|
||||||
|
|
||||||
# Add here commands to install the package into debian/<packagename>.
|
|
||||||
@sh debian/ccm-install.sh $(CURDIR)/debian/tmp
|
|
||||||
|
|
||||||
# Build architecture-independent files here.
|
|
||||||
binary-indep: build install
|
|
||||||
dh_testdir
|
|
||||||
dh_testroot
|
|
||||||
dh_installdirs
|
|
||||||
dh_installchangelogs
|
|
||||||
dh_installdocs
|
|
||||||
dh_installexamples
|
|
||||||
@sh debian/ccm-disperse.sh debian/tmp
|
|
||||||
# dh_install --sourcedir=debian/tmp
|
|
||||||
# dh_installmenu
|
|
||||||
dh_installdebconf
|
|
||||||
# dh_installlogrotate
|
|
||||||
# dh_installemacsen
|
|
||||||
# dh_installcatalogs
|
|
||||||
# dh_installpam
|
|
||||||
# dh_installmime
|
|
||||||
# dh_installinit
|
|
||||||
# dh_installcron
|
|
||||||
# dh_installinfo
|
|
||||||
# dh_undocumented
|
|
||||||
dh_installman
|
|
||||||
dh_link
|
|
||||||
dh_compress
|
|
||||||
dh_fixperms
|
|
||||||
# dh_perl
|
|
||||||
# dh_python
|
|
||||||
dh_installdeb
|
|
||||||
dh_gencontrol
|
|
||||||
dh_md5sums
|
|
||||||
dh_builddeb
|
|
||||||
|
|
||||||
# Build architecture-dependent files here.
|
|
||||||
binary-arch: build install
|
|
||||||
# We have nothing to do by default.
|
|
||||||
|
|
||||||
binary: binary-indep binary-arch
|
|
||||||
.PHONY: build clean binary-indep binary-arch binary install
|
|
||||||
|
|
@ -1,207 +0,0 @@
|
||||||
Template: ccm/debconf/version
|
|
||||||
Type: string
|
|
||||||
Default: $Id: templates,v 1.1.1.1 2004/11/12 09:30:09 fabrice Exp $
|
|
||||||
Description: The version of the debconf template
|
|
||||||
Author: Berkan Eskikaya <berkan@runtime-collective.com>, 2004
|
|
||||||
.
|
|
||||||
$Id: templates,v 1.1.1.1 2004/11/12 09:30:09 fabrice Exp $
|
|
||||||
|
|
||||||
Template: ccm/package_name
|
|
||||||
Type: string
|
|
||||||
Default: ccm-cms-types-organization
|
|
||||||
Description: The name of the package
|
|
||||||
This is syntetic sugar.
|
|
||||||
|
|
||||||
Template: ccm/package_version
|
|
||||||
Type: string
|
|
||||||
Default: 6.3.0
|
|
||||||
Description: The version of the package
|
|
||||||
This is synthetic sugar.
|
|
||||||
|
|
||||||
Template: ccm/shared/dbase_type
|
|
||||||
Type: select
|
|
||||||
Choices: postgresql
|
|
||||||
Default: postgresql
|
|
||||||
Description: Database backend:
|
|
||||||
Please choose a database backend. At the moment, you could only select PostgreSQL.
|
|
||||||
|
|
||||||
Template: ccm/shared/dbase_host
|
|
||||||
Type: string
|
|
||||||
Default: localhost
|
|
||||||
Description: Database host:
|
|
||||||
Please specify the host that the database runs on.
|
|
||||||
|
|
||||||
Template: ccm/shared/dbase_name
|
|
||||||
Type: string
|
|
||||||
Default: ccm01.db
|
|
||||||
Description: Database name:
|
|
||||||
Please specify the name of the APLAWS database.
|
|
||||||
|
|
||||||
Template: ccm/shared/dbase_user
|
|
||||||
Type: string
|
|
||||||
Default: ccm
|
|
||||||
Description: Database user name:
|
|
||||||
Please specify the database account for the APLAWS database.
|
|
||||||
|
|
||||||
Template: ccm/shared/dbase_password
|
|
||||||
Type: password
|
|
||||||
Default: ccmpwd
|
|
||||||
Description: Database password:
|
|
||||||
Please choose a password for the APLAWS database account.
|
|
||||||
|
|
||||||
Template: ccm/shared/waf_runtime_jdbc_url
|
|
||||||
Type: string
|
|
||||||
Default: jdbc:postgresql://localhost/ccm01.db?user=ccm&password=ccmpwd
|
|
||||||
Description: JDBC connection URL:
|
|
||||||
The WAF runtime uses this value to connect to a database.
|
|
||||||
.
|
|
||||||
Format: jdbc:[subprotocol]:[subname]
|
|
||||||
.
|
|
||||||
Example: jdbc:postgresql://localhost/ccm01.db?user=ccm&password=ccmpwd
|
|
||||||
|
|
||||||
Template: ccm/shared/waf_web_server
|
|
||||||
Type: string
|
|
||||||
Default: localhost:9090
|
|
||||||
Description: Server virtual host:
|
|
||||||
Please specify the hostname and port that users of a site will
|
|
||||||
see in URLs generated by WAF.
|
|
||||||
.
|
|
||||||
Format: [server hostname]:[port number]
|
|
||||||
.
|
|
||||||
Example: example.com:80
|
|
||||||
|
|
||||||
Template: ccm/shared/waf_admin_email
|
|
||||||
Type: string
|
|
||||||
Default:
|
|
||||||
Description: Administrator Email Address:
|
|
||||||
Please specify the system administrator account.
|
|
||||||
.
|
|
||||||
Format: <user>@<domain>
|
|
||||||
.
|
|
||||||
Example: joe@example.com
|
|
||||||
|
|
||||||
Template: ccm/shared/waf_admin_name_given
|
|
||||||
Type: string
|
|
||||||
Default:
|
|
||||||
Description: Administrator First Name:
|
|
||||||
Please specify the name of the system administrator.
|
|
||||||
|
|
||||||
Template: ccm/shared/waf_admin_name_family
|
|
||||||
Type: string
|
|
||||||
Default:
|
|
||||||
Description: Administrator Last Name:
|
|
||||||
Please specify the surname of the system administrator.
|
|
||||||
|
|
||||||
Template: ccm/shared/waf_admin_password
|
|
||||||
Type: password
|
|
||||||
Default:
|
|
||||||
Description: Administrator Password
|
|
||||||
Please choose a password for the system administrator account.
|
|
||||||
|
|
||||||
Template: ccm/shared/waf_admin_password_question
|
|
||||||
Type: string
|
|
||||||
Default: The name of your primary school
|
|
||||||
Description: Administrator Password Question:
|
|
||||||
This question will be asked when the password to the system administrator
|
|
||||||
account is lost and access must be recovered.
|
|
||||||
.
|
|
||||||
Please only use letters and numbers.
|
|
||||||
|
|
||||||
Template: ccm/shared/waf_admin_password_answer
|
|
||||||
Type: string
|
|
||||||
Default:
|
|
||||||
Description: Administrator Password Answer:
|
|
||||||
Now specify the correct answer to the Administrator Password Question.
|
|
||||||
.
|
|
||||||
Please only use letters and numbers.
|
|
||||||
|
|
||||||
Template: ccm/shared/ccm_load_apps_at_install_p
|
|
||||||
Type: boolean
|
|
||||||
Default: true
|
|
||||||
Description: Load CCM applications as they install?
|
|
||||||
You could choose to load CCM applications into the database
|
|
||||||
automatically after they are installed, or you could load them
|
|
||||||
manually [with 'ccm load'] yourself.
|
|
||||||
.
|
|
||||||
The former will save you some manual work, while the latter is probably
|
|
||||||
most suited if you are trying to build the applications from the
|
|
||||||
sources and prefer to load them once all are built and installed.
|
|
||||||
|
|
||||||
Template: ccm/shared/pg_set_up_database_p
|
|
||||||
Type: boolean
|
|
||||||
Default: true
|
|
||||||
Description: Do you want me to set up the CCM database and adjust the access permissions?
|
|
||||||
You have specified a database on your localhost. I could set it up
|
|
||||||
for you and automatically adjust the access permissions. I could do
|
|
||||||
this independently of whether or not you have choosen to load the
|
|
||||||
applications at install time.
|
|
||||||
.
|
|
||||||
Say no here if you have already prepared the CCM database yourself
|
|
||||||
or if you would like to do it later. Saying yes will save you some
|
|
||||||
manual work.
|
|
||||||
|
|
||||||
Template: ccm/shared/pg_drop_database_at_purge_p
|
|
||||||
Type: boolean
|
|
||||||
Default: true
|
|
||||||
Description: Do you want me to drop the CCM database?
|
|
||||||
|
|
||||||
|
|
||||||
Template: ccm/shared/error_etc_ccm_missing_dir
|
|
||||||
Type: note
|
|
||||||
Description: CCM configuration directory does not exist.
|
|
||||||
I couldn't find the CCM configuration directory: /etc/ccm.
|
|
||||||
.
|
|
||||||
This probably points at a corrupt or unusual CCM installation. The ccm-tools
|
|
||||||
package creates this directory --- please verify that it is installed and
|
|
||||||
intact.
|
|
||||||
.
|
|
||||||
I will continue with the configuration by re-creating the directory,
|
|
||||||
but we may experience problems later.
|
|
||||||
|
|
||||||
Template: ccm/shared/ccm_aux_setupdb_failed
|
|
||||||
Type: note
|
|
||||||
Description: ccm-aux-setupdb couldn't complete.
|
|
||||||
The helper script ccm-aux-setupdb didn't succeed.
|
|
||||||
This means that the CCM database couldn't be set up.
|
|
||||||
.
|
|
||||||
If you have answered yes to the automatic loading of
|
|
||||||
applications at install time, I will still try to honour
|
|
||||||
that.
|
|
||||||
.
|
|
||||||
In case that doesn't succeed [likely now], please manually
|
|
||||||
prepare the database and load the application(s) after the
|
|
||||||
installation.
|
|
||||||
|
|
||||||
Template: ccm/shared/ccm_aux_update_hba_conf_failed
|
|
||||||
Type: note
|
|
||||||
Description: ccm-aux-update-hba-conf couldn't complete.
|
|
||||||
The helper script ccm-aux-update-hba-conf didn't succeed.
|
|
||||||
This means that the access permissions for the ccm database
|
|
||||||
couldn't be set up.
|
|
||||||
.
|
|
||||||
If you have answered yes to the automatic loading of
|
|
||||||
applications at install time, I will still try to honour
|
|
||||||
that.
|
|
||||||
.
|
|
||||||
In case that doesn't succeed [likely now], please manually
|
|
||||||
check/edit the pg_hba.conf file of your PostgreSQL instance
|
|
||||||
and load the application(s) after the installation.
|
|
||||||
|
|
||||||
Template: ccm/shared/error_ccm_tool_not_found
|
|
||||||
Type: note
|
|
||||||
Description: The 'ccm' tool not found.
|
|
||||||
I need the 'ccm' tool [/usr/bin/ccm] to continue but I cannot find it.
|
|
||||||
.
|
|
||||||
This probably points at a corrupt or unusual CCM installation. The ccm-tools
|
|
||||||
package contains this file --- please check your setup after the installation,
|
|
||||||
and then run "dpkg-reconfigure ccm-cms-types-organization".
|
|
||||||
|
|
||||||
Template: ccm/shared/error_java_home_not_found
|
|
||||||
Type: note
|
|
||||||
Description: JAVA_HOME not found.
|
|
||||||
JAVA_HOME isn't set --- I have even tried to guess it but failed.
|
|
||||||
.
|
|
||||||
This will cancel any 'ccm load' and 'ccm hostinit' operations.
|
|
||||||
.
|
|
||||||
Please check your java setup after the installation, and then run
|
|
||||||
"dpkg-reconfigure ccm-cms-types-organization".
|
|
||||||
|
|
@ -2,12 +2,13 @@ model com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
import com.arsdigita.cms.contenttypes.Person;
|
import com.arsdigita.cms.contenttypes.Person;
|
||||||
import com.arsdigita.cms.contenttypes.BaseAddress;
|
import com.arsdigita.cms.contenttypes.BaseAddress;
|
||||||
|
import com.arsdigita.kernel.ACSObject;
|
||||||
import com.arsdigita.cms.*;
|
import com.arsdigita.cms.*;
|
||||||
|
|
||||||
// Contact Object
|
// Contact Object
|
||||||
object type BaseContact extends ContentPage {
|
object type BaseContact extends ContentPage {
|
||||||
|
|
||||||
componetn Person [0..1] person = join ct_baseContacts.person_id
|
component Person [0..1] person = join ct_baseContacts.person_id
|
||||||
to ct_persons.person_id;
|
to ct_persons.person_id;
|
||||||
|
|
||||||
component BaseAddress [0..1] address = join ct_baseContacts.address_id
|
component BaseAddress [0..1] address = join ct_baseContacts.address_id
|
||||||
|
|
@ -19,7 +20,7 @@ object type BaseContact extends ContentPage {
|
||||||
reference key ( ct_baseContacts.contact_id );
|
reference key ( ct_baseContacts.contact_id );
|
||||||
}
|
}
|
||||||
|
|
||||||
object type BaseContactEntry {
|
object type BaseContactEntry extends ACSObject {
|
||||||
|
|
||||||
String [1..1] key = ct_baseContactEntries.key VARCHAR(100);
|
String [1..1] key = ct_baseContactEntries.key VARCHAR(100);
|
||||||
String [1..1] description = ct_baseContactEntries.description VARCHAR(100);
|
String [1..1] description = ct_baseContactEntries.description VARCHAR(100);
|
||||||
|
|
@ -28,3 +29,4 @@ object type BaseContactEntry {
|
||||||
reference key ( ct_baseContactEntries.contactentry_id );
|
reference key ( ct_baseContactEntries.contactentry_id );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
--
|
|
||||||
-- Copyright (C) 2003-2004 Red Hat Inc. All Rights Reserved.
|
|
||||||
--
|
|
||||||
-- 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
|
|
||||||
--
|
|
||||||
-- $Id: oracle-se-create.sql 287 2005-02-22 00:29:02Z sskracic $
|
|
||||||
-- $DateTime: 2004/08/17 23:15:09 $
|
|
||||||
@ ddl/oracle-se/create.sql
|
|
||||||
|
|
||||||
@ ddl/oracle-se/deferred.sql
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
--
|
|
||||||
-- Copyright (C) 2003-2004 Red Hat Inc. All Rights Reserved.
|
|
||||||
--
|
|
||||||
-- 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
|
|
||||||
--
|
|
||||||
-- $Id: postgres-create.sql 287 2005-02-22 00:29:02Z sskracic $
|
|
||||||
-- $DateTime: 2004/08/17 23:15:09 $
|
|
||||||
begin;
|
|
||||||
\i ddl/postgres/create.sql
|
|
||||||
\i ddl/postgres/deferred.sql
|
|
||||||
end;
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<ctd:content-types xmlns:ctd="http://xmlns.redhat.com/cms/content-types"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://xmlns.redhat.com/cms/content-types content-types.xsd">
|
||||||
|
|
||||||
|
<ctd:content-type
|
||||||
|
label="BaseContact"
|
||||||
|
description="A basic Contact type"
|
||||||
|
objectType="com.arsdigita.cms.contenttypes.BaseContact"
|
||||||
|
classname="com.arsdigita.cms.contenttypes.BaseContact">
|
||||||
|
|
||||||
|
<ctd:authoring-kit
|
||||||
|
createComponent="com.arsdigita.cms.ui.authoring.PageCreate">
|
||||||
|
|
||||||
|
<ctd:authoring-step
|
||||||
|
labelKey="baseContact.authoring.basic_properties.title"
|
||||||
|
labelBundle="com.arsdigita.cms.contenttypes.BaseContactResources"
|
||||||
|
descriptionKey="baseContact.authoring.basic_properties.description"
|
||||||
|
descriptionBundle="com.arsdigita.cms.contenttypes.BaseContactResources"
|
||||||
|
component="com.arsdigita.cms.contenttypes.ui.BaseContactPropertiesStep"
|
||||||
|
ordering="1"/>
|
||||||
|
|
||||||
|
<ctd:include href="/WEB-INF/content-types/assign-categories-step.xml"/>
|
||||||
|
</ctd:authoring-kit>
|
||||||
|
|
||||||
|
</ctd:content-type>
|
||||||
|
</ctd:content-types>
|
||||||
|
|
@ -23,7 +23,7 @@ import com.arsdigita.persistence.DataObject;
|
||||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||||
import com.arsdigita.cms.ContentType;
|
import com.arsdigita.cms.ContentType;
|
||||||
import com.arsdigita.cms.ContentPage;
|
import com.arsdigita.cms.ContentPage;
|
||||||
import com.arsdigita.cms.ImageAsset;
|
import com.arsdigita.persistence.DataCollection;
|
||||||
import com.arsdigita.util.Assert;
|
import com.arsdigita.util.Assert;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
|
@ -41,7 +41,7 @@ public class BaseContact extends ContentPage {
|
||||||
|
|
||||||
/** Data object type for tihs domain object */
|
/** Data object type for tihs domain object */
|
||||||
public static final String BASE_DATA_OBJECT_TYPE
|
public static final String BASE_DATA_OBJECT_TYPE
|
||||||
= "com.arsdigita.cms.contenttypes.baseContact";
|
= "com.arsdigita.cms.contenttypes.BaseContact";
|
||||||
|
|
||||||
public BaseContact() {
|
public BaseContact() {
|
||||||
super(BASE_DATA_OBJECT_TYPE);
|
super(BASE_DATA_OBJECT_TYPE);
|
||||||
|
|
|
||||||
|
|
@ -20,12 +20,21 @@
|
||||||
|
|
||||||
package com.arsdigita.cms.contenttypes;
|
package com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
|
import com.arsdigita.kernel.ACSObject;
|
||||||
|
import com.arsdigita.persistence.DataObject;
|
||||||
|
import com.arsdigita.persistence.OID;
|
||||||
|
import com.arsdigita.persistence.metadata.ObjectType;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author quasi
|
* @author quasi
|
||||||
*/
|
*/
|
||||||
public class BaseContactEntry extends DomainObject {
|
public class BaseContactEntry extends ACSObject {
|
||||||
|
|
||||||
|
public static final String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.contenttypes.BaseContactEntry";
|
||||||
|
private static final String BASE_DATA_OBJECT_PACKAGE = "com.arsdigita.cms.contenttypes";
|
||||||
|
|
||||||
private static final Logger s_log = Logger.getLogger(BaseContactEntry.class);
|
private static final Logger s_log = Logger.getLogger(BaseContactEntry.class);
|
||||||
|
|
||||||
/** PDL property names */
|
/** PDL property names */
|
||||||
|
|
@ -33,15 +42,43 @@ public class BaseContactEntry extends DomainObject {
|
||||||
public static final String VALUE = "value";
|
public static final String VALUE = "value";
|
||||||
public static final String DESCRIPTION = "description";
|
public static final String DESCRIPTION = "description";
|
||||||
|
|
||||||
public final static String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.contenttypes.BaseContactEntry";
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new instance of BaseContactEntry
|
* Creates a new instance of BaseContactEntry
|
||||||
*/
|
*/
|
||||||
public BaseContactEntry() {
|
public BaseContactEntry(String typeName) {
|
||||||
|
super(typeName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseContactEntry(ObjectType type) {
|
||||||
|
super(type);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseContactEntry(OID oid) {
|
||||||
|
super(oid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BaseContactEntry(DataObject dataObject) {
|
||||||
|
super(dataObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseContactEntry() {
|
||||||
|
this(BASE_DATA_OBJECT_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseContactEntry(String key, String value, String description) {
|
||||||
|
this();
|
||||||
|
setKey(key);
|
||||||
|
setValue(value);
|
||||||
|
setDescription(description);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseContactEntry(OID oid, String key, String value, String description) {
|
||||||
|
this(oid);
|
||||||
|
setKey(key);
|
||||||
|
setValue(value);
|
||||||
|
setDescription(description);
|
||||||
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////
|
/////////////////////////////////////////////////
|
||||||
// accessors
|
// accessors
|
||||||
|
|
@ -71,7 +108,7 @@ public class BaseContactEntry extends DomainObject {
|
||||||
return (String) get(DESCRIPTION);
|
return (String) get(DESCRIPTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDescription(String Description) {
|
public void setDescription(String description) {
|
||||||
set(DESCRIPTION, description);
|
set(DESCRIPTION, description);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,20 +8,25 @@
|
||||||
|
|
||||||
package com.arsdigita.cms.contenttypes;
|
package com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
import com.arsdigita.domain.DomainCollection;
|
import com.arsdigita.kernel.ACSObjectCollection;
|
||||||
import com.arsdigita.persistence.DataCollection;
|
import com.arsdigita.persistence.DataCollection;
|
||||||
import org.apache.log4j.Logger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author quasi
|
* @author quasi
|
||||||
*/
|
*/
|
||||||
public class BaseContactEntryCollection extends DomainCollection {
|
public class BaseContactEntryCollection extends ACSObjectCollection {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new instance of BaseContactEntryCollection
|
* Creates a new instance of BaseContactEntryCollection
|
||||||
*/
|
*/
|
||||||
public BaseContactEntryCollection() {
|
public BaseContactEntryCollection(BaseContact baseContact) {
|
||||||
|
super((DataCollection) baseContact.getContactEntries());
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseContactEntryCollection(DataCollection dataCollection) {
|
||||||
|
super(dataCollection);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final String getKey() {
|
public final String getKey() {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
cms.contenttypes.ui.baseContact.person=Person
|
||||||
|
cms.contenttypes.ui.baseContact.address=Address
|
||||||
|
|
@ -0,0 +1,187 @@
|
||||||
|
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;
|
||||||
|
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;
|
||||||
|
import com.arsdigita.bebop.Label;
|
||||||
|
import com.arsdigita.bebop.SegmentedPanel;
|
||||||
|
import com.arsdigita.cms.contenttypes.BaseAddress;
|
||||||
|
import com.arsdigita.cms.contenttypes.BaseContact;
|
||||||
|
import com.arsdigita.cms.contenttypes.Person;
|
||||||
|
import com.arsdigita.cms.contenttypes.util.BaseAddressGlobalizationUtil;
|
||||||
|
import com.arsdigita.cms.contenttypes.util.BaseContactGlobalizationUtil;
|
||||||
|
import com.arsdigita.cms.contenttypes.util.PersonGlobalizationUtil;
|
||||||
|
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* AuthoringStep for the basic properties of a basic contact
|
||||||
|
*/
|
||||||
|
public class BaseContactPropertiesStep extends SimpleEditStep {
|
||||||
|
|
||||||
|
private static final Logger logger = Logger.getLogger(BaseContactPropertiesStep.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Name of the this edit sheet (Don't know if this this really needed.
|
||||||
|
* It has the same value in almost all PropertiesStep classes)
|
||||||
|
*/
|
||||||
|
public static final String EDIT_BASIC_SHEET_NAME = "editBasic";
|
||||||
|
public static final String EDIT_PERSON_SHEET_NAME = "editPerson";
|
||||||
|
public static final String EDIT_ADDRESS_SHEET_NAME = "editAddress";
|
||||||
|
public static final String CHANGE_PERSON_SHEET_NAME = "changePerson";
|
||||||
|
public static final String CHANGE_ADDRESS_SHEET_NAME = "changeAddress";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor for the PropertiesStep.
|
||||||
|
*
|
||||||
|
* @param itemModel
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
|
public BaseContactPropertiesStep(ItemSelectionModel itemModel, AuthoringKitWizard parent) {
|
||||||
|
super(itemModel, parent);
|
||||||
|
|
||||||
|
/* Use a Segmented Panel for the multiple parts of data */
|
||||||
|
SegmentedPanel segmentedPanel = new SegmentedPanel();
|
||||||
|
|
||||||
|
// setDefaultEditKey(EDIT_BASIC_SHEET_NAME);
|
||||||
|
|
||||||
|
/* The different parts of information are displayed in seperated segments each containing a SimpleEditStep */
|
||||||
|
/* Well, not so simple anymore... */
|
||||||
|
|
||||||
|
/* A new SimpleEditStep */
|
||||||
|
SimpleEditStep basicProperties = new SimpleEditStep(itemModel, parent, EDIT_BASIC_SHEET_NAME);
|
||||||
|
/* Create the edit component for this SimpleEditStep and the corresponding link */
|
||||||
|
BasicPageForm editBasicSheet = new BaseContactPropertyForm(itemModel, this);
|
||||||
|
basicProperties.add(EDIT_BASIC_SHEET_NAME, "Edit Basic", new WorkflowLockedComponentAccess(editBasicSheet, itemModel), editBasicSheet.getSaveCancelSection().getCancelButton());
|
||||||
|
/* Set the displayComponent for this step */
|
||||||
|
basicProperties.setDisplayComponent(getBaseContactPropertySheet(itemModel));
|
||||||
|
|
||||||
|
/* A new SimpleEditStep */
|
||||||
|
SimpleEditStep personProperties = new SimpleEditStep(itemModel, parent, EDIT_PERSON_SHEET_NAME);
|
||||||
|
/* Create the edit component for this SimpleEditStep and the corresponding link */
|
||||||
|
//XXX
|
||||||
|
BasicPageForm editPersonSheet = new BaseContactPropertyForm(itemModel, this);
|
||||||
|
personProperties.add(EDIT_PERSON_SHEET_NAME, "Edit Person", new WorkflowLockedComponentAccess(editPersonSheet, itemModel), editPersonSheet.getSaveCancelSection().getCancelButton());
|
||||||
|
//XXX
|
||||||
|
BasicPageForm changePersonSheet = new BaseContactPropertyForm(itemModel, this);
|
||||||
|
personProperties.add(CHANGE_PERSON_SHEET_NAME, "Change Person", new WorkflowLockedComponentAccess(changePersonSheet, itemModel), changePersonSheet.getSaveCancelSection().getCancelButton());
|
||||||
|
/* Set the displayComponent for this step */
|
||||||
|
personProperties.setDisplayComponent(getPersonPropertySheet(itemModel));
|
||||||
|
|
||||||
|
/* A new SimpleEditStep */
|
||||||
|
SimpleEditStep addressProperties = new SimpleEditStep(itemModel, parent, EDIT_ADDRESS_SHEET_NAME);
|
||||||
|
/* Create the edit component for this SimpleEditStep and the corresponding link */
|
||||||
|
//XXX
|
||||||
|
BasicPageForm editAddressSheet = new BaseContactPropertyForm(itemModel, this);
|
||||||
|
addressProperties.add(EDIT_ADDRESS_SHEET_NAME, "Edit Address", new WorkflowLockedComponentAccess(editAddressSheet, itemModel), editAddressSheet.getSaveCancelSection().getCancelButton());
|
||||||
|
//XXX
|
||||||
|
BasicPageForm changeAddressSheet = new BaseContactPropertyForm(itemModel, this);
|
||||||
|
addressProperties.add(CHANGE_ADDRESS_SHEET_NAME, "Change Address", new WorkflowLockedComponentAccess(changeAddressSheet, itemModel), changeAddressSheet.getSaveCancelSection().getCancelButton());
|
||||||
|
/* Set the displayComponent for this step */
|
||||||
|
addressProperties.setDisplayComponent(getBaseAddressPropertySheet(itemModel));
|
||||||
|
|
||||||
|
/* Add the SimpleEditStep to the segmented panel */
|
||||||
|
segmentedPanel.addSegment(new Label("Basic"), basicProperties);
|
||||||
|
segmentedPanel.addSegment(new Label((String)GlobalizationUtil.globalize("cms.contenttypes.ui.baseContact.person").localize()), personProperties);
|
||||||
|
segmentedPanel.addSegment(new Label((String)GlobalizationUtil.globalize("cms.contenttypes.ui.baseContact.address").localize()), addressProperties);
|
||||||
|
// segmentedPanel.addSegment(new Label((String)GlobalizationUtil.globalize("cms.contenttypes.ui.baseContact.baseContactEntries").localize()), BaseContactEntriesSection);
|
||||||
|
|
||||||
|
// editPersonSheet = new BaseContactEditPersonForm(itemModel, this);
|
||||||
|
// changePersonSheet = new BaseContactChangePersonForm(itemModel, this);
|
||||||
|
|
||||||
|
// editAddressSheet = new BaseContactEditAddressForm(itemModel, this);
|
||||||
|
// add(EDIT_ADDRESS_SHEET_NAME, "Edit Address", new WorkflowLockedComponentAccess(editAddressSheet, itemModel), editAddressSheet.getSaveCancelSection().getCancelButton());
|
||||||
|
// changeAddressSheet = new BaseContactChangeAddressForm(itemModel, this);
|
||||||
|
// add(CHANGE_ADDRESS_SHEET_NAME, "Change Address", new WorkflowLockedComponentAccess(changeAddressSheet, itemModel), changeAddressSheet.getSaveCancelSection().getCancelButton());
|
||||||
|
|
||||||
|
|
||||||
|
/* Sets the composed segmentedPanel as display component */
|
||||||
|
setDisplayComponent(segmentedPanel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates and returns the sheet for editing the basic properties
|
||||||
|
* of an organization. (@see BaseContactPropertyForm).
|
||||||
|
*
|
||||||
|
* @param itemModel
|
||||||
|
* @return The sheet for editing the properties of the organization.
|
||||||
|
*/
|
||||||
|
public static Component getBaseContactPropertySheet(ItemSelectionModel itemModel) {
|
||||||
|
|
||||||
|
|
||||||
|
/* The DisplayComponent for the Basic Properties */
|
||||||
|
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
|
||||||
|
|
||||||
|
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.name"),"name");
|
||||||
|
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.title"),"title");
|
||||||
|
|
||||||
|
if(!ContentSection.getConfig().getHideLaunchDate()) {
|
||||||
|
sheet.add(GlobalizationUtil.globalize("cms.ui.authoring.page_launch_date"), ContentPage.LAUNCH_DATE, new DomainObjectPropertySheet.AttributeFormatter() {
|
||||||
|
|
||||||
|
public String format(DomainObject obj, String attribute, PageState state) {
|
||||||
|
ContentPage page = (ContentPage)obj;
|
||||||
|
if(page.getLaunchDate() != null) {
|
||||||
|
return DateFormat.getDateInstance(DateFormat.LONG).format(page.getLaunchDate());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return (String)GlobalizationUtil.globalize("cms.ui.unknown").localize();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return sheet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Component getPersonPropertySheet(ItemSelectionModel itemModel) {
|
||||||
|
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
|
||||||
|
|
||||||
|
sheet.add((String)PersonGlobalizationUtil.globalize("cms.contenttypes.ui.person.surname").localize(), "person." + Person.SURNAME);
|
||||||
|
sheet.add((String)PersonGlobalizationUtil.globalize("cms.contenttypes.ui.person.givenname").localize(), "person." + Person.GIVENNAME);
|
||||||
|
sheet.add((String)PersonGlobalizationUtil.globalize("cms.contenttypes.ui.person.titlepre").localize(), "person." + Person.TITLEPRE);
|
||||||
|
sheet.add((String)PersonGlobalizationUtil.globalize("cms.contenttypes.ui.person.titlepost").localize(), "person." + Person.TITLEPOST);
|
||||||
|
|
||||||
|
return sheet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Component getBaseAddressPropertySheet(ItemSelectionModel itemModel) {
|
||||||
|
|
||||||
|
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
|
||||||
|
|
||||||
|
sheet.add((String)BaseAddressGlobalizationUtil.globalize("cms.contenttypes.ui.baseAddress.address").localize(), "address." + BaseAddress.ADDRESS);
|
||||||
|
sheet.add((String)BaseAddressGlobalizationUtil.globalize("cms.contenttypes.ui.baseAddress.postal_code").localize(), "address." + BaseAddress.POSTAL_CODE);
|
||||||
|
sheet.add((String)BaseAddressGlobalizationUtil.globalize("cms.contenttypes.ui.baseAddress.city").localize(), "address." + BaseAddress.CITY);
|
||||||
|
sheet.add((String)BaseAddressGlobalizationUtil.globalize("cms.contenttypes.ui.baseAddress.state").localize(), "address." + BaseAddress.STATE);
|
||||||
|
|
||||||
|
sheet.add((String)BaseAddressGlobalizationUtil.globalize("cms.contenttypes.ui.baseAddress.iso_country_code").localize(),
|
||||||
|
"address." + BaseAddress.ISO_COUNTRY_CODE,
|
||||||
|
new DomainObjectPropertySheet.AttributeFormatter() {
|
||||||
|
public String format(DomainObject item,
|
||||||
|
String attribute,
|
||||||
|
PageState state) {
|
||||||
|
BaseAddress baseAddress = ((BaseContact)item).getAddress();
|
||||||
|
if(baseAddress != null && baseAddress.getIsoCountryCode() != null) {
|
||||||
|
return BaseAddress.getCountryNameFromIsoCode(baseAddress.getIsoCountryCode());
|
||||||
|
} else {
|
||||||
|
return (String)BaseAddressGlobalizationUtil.globalize
|
||||||
|
("cms.ui.unknown").localize();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
return sheet;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,107 @@
|
||||||
|
package com.arsdigita.cms.contenttypes.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.FormProcessException;
|
||||||
|
import com.arsdigita.cms.ui.authoring.BasicPageForm;
|
||||||
|
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.ItemSelectionModel;
|
||||||
|
import com.arsdigita.bebop.FormData;
|
||||||
|
import com.arsdigita.cms.contenttypes.BaseContact;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Form for editing the basic properties of a basic contact.
|
||||||
|
*/
|
||||||
|
public class BaseContactPropertyForm extends BasicPageForm implements FormProcessListener, FormInitListener, FormSubmissionListener {
|
||||||
|
|
||||||
|
private static final Logger logger = Logger.getLogger(BaseContactPropertyForm.class);
|
||||||
|
|
||||||
|
private BaseContactPropertiesStep m_step;
|
||||||
|
|
||||||
|
public static final String PERSON = BaseContact.PERSON;
|
||||||
|
public static final String ADRESS = BaseContact.ADDRESS;
|
||||||
|
public static final String CONTACT_ENTRIES= BaseContact.CONTACT_ENTRIES;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ID of the form
|
||||||
|
*/
|
||||||
|
public static final String ID = "BaseContact_edit";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constrctor taking an ItemSelectionModel
|
||||||
|
*
|
||||||
|
* @param itemModel
|
||||||
|
*/
|
||||||
|
public BaseContactPropertyForm(ItemSelectionModel itemModel) {
|
||||||
|
this(itemModel, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constrctor taking an ItemSelectionModel and an instance of BaseContactPropertiesStep.
|
||||||
|
*
|
||||||
|
* @param itemModel
|
||||||
|
* @param step
|
||||||
|
*/
|
||||||
|
public BaseContactPropertyForm(ItemSelectionModel itemModel, BaseContactPropertiesStep step) {
|
||||||
|
super(ID, itemModel);
|
||||||
|
m_step = step;
|
||||||
|
addSubmissionListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addWidgets() {
|
||||||
|
super.addWidgets();
|
||||||
|
|
||||||
|
/*
|
||||||
|
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.genericorganization.ui.organizationname")));
|
||||||
|
ParameterModel organizationNameParam = new StringParameter(ORGANIZATIONAME);
|
||||||
|
TextField organizationName = new TextField(organizationNameParam);
|
||||||
|
organizationName.addValidationListener(new NotNullValidationListener());
|
||||||
|
add(organizationName);
|
||||||
|
|
||||||
|
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.genericorganization.ui.organizationnameaddendum")));
|
||||||
|
TextField organizationNameAddendum = new TextField(ORGANIZATIONNAMEADDENDUM);
|
||||||
|
add(organizationNameAddendum);
|
||||||
|
|
||||||
|
add(new Label(GlobalizationUtil.globalize("cms.contenttypes.genericorganzation.ui.description")));
|
||||||
|
TextArea description = new TextArea(DESCRIPTION);
|
||||||
|
description.setRows(5);
|
||||||
|
description.setCols(30);
|
||||||
|
add(description);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init(FormSectionEvent e) throws FormProcessException {
|
||||||
|
FormData data = e.getFormData();
|
||||||
|
BaseContact baseContact = (BaseContact)super.initBasicWidgets(e);
|
||||||
|
|
||||||
|
// data.put(DESCRIPTION, baseContact.getDescription());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void process(FormSectionEvent e) throws FormProcessException {
|
||||||
|
FormData data = e.getFormData();
|
||||||
|
|
||||||
|
BaseContact baseContact = (BaseContact)super.processBasicWidgets(e);
|
||||||
|
|
||||||
|
if((baseContact != null) && (getSaveCancelSection().getSaveButton().isSelected(e.getPageState()))) {
|
||||||
|
// baseContact.setDescription((String)data.get(DESCRIPTION));
|
||||||
|
|
||||||
|
baseContact.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(m_step != null) {
|
||||||
|
m_step.maybeForwardToNextStep(e.getPageState());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void submitted(FormSectionEvent e) throws FormProcessException {
|
||||||
|
if((m_step != null) && (getSaveCancelSection().getCancelButton().isSelected(e.getPageState()))) {
|
||||||
|
m_step.cancelStreamlinedCreation(e.getPageState());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue