diff --git a/ccm-cms-types-baseContact/application.xml b/ccm-cms-types-baseContact/application.xml index 9555c5c79..f40e3ba20 100755 --- a/ccm-cms-types-baseContact/application.xml +++ b/ccm-cms-types-baseContact/application.xml @@ -8,6 +8,8 @@ + + diff --git a/ccm-cms-types-baseContact/debian/ccm-build.sh b/ccm-cms-types-baseContact/debian/ccm-build.sh deleted file mode 100755 index 6d0fad9cd..000000000 --- a/ccm-cms-types-baseContact/debian/ccm-build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# -# Author: Berkan Eskikaya , 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} diff --git a/ccm-cms-types-baseContact/debian/ccm-clean.sh b/ccm-cms-types-baseContact/debian/ccm-clean.sh deleted file mode 100755 index b603830b4..000000000 --- a/ccm-cms-types-baseContact/debian/ccm-clean.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# -# Author: Berkan Eskikaya , 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 diff --git a/ccm-cms-types-baseContact/debian/ccm-cms-types-organization.dirs b/ccm-cms-types-baseContact/debian/ccm-cms-types-organization.dirs deleted file mode 100755 index f3698fd03..000000000 --- a/ccm-cms-types-baseContact/debian/ccm-cms-types-organization.dirs +++ /dev/null @@ -1 +0,0 @@ -usr/share/java/ccm-cms-types-organization-6.3.0 diff --git a/ccm-cms-types-baseContact/debian/ccm-config.sh b/ccm-cms-types-baseContact/debian/ccm-config.sh deleted file mode 100755 index 90094298f..000000000 --- a/ccm-cms-types-baseContact/debian/ccm-config.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# -# Author: Berkan Eskikaya , 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 diff --git a/ccm-cms-types-baseContact/debian/ccm-disperse.sh b/ccm-cms-types-baseContact/debian/ccm-disperse.sh deleted file mode 100755 index c08119d5d..000000000 --- a/ccm-cms-types-baseContact/debian/ccm-disperse.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# -# Author: Berkan Eskikaya , 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 diff --git a/ccm-cms-types-baseContact/debian/ccm-install.sh b/ccm-cms-types-baseContact/debian/ccm-install.sh deleted file mode 100755 index 39f3f2839..000000000 --- a/ccm-cms-types-baseContact/debian/ccm-install.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# -# Author: Berkan Eskikaya , 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 diff --git a/ccm-cms-types-baseContact/debian/ccm-settings-run.sh b/ccm-cms-types-baseContact/debian/ccm-settings-run.sh deleted file mode 100755 index 65ee0ba2c..000000000 --- a/ccm-cms-types-baseContact/debian/ccm-settings-run.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# -# Author: Berkan Eskikaya , 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" diff --git a/ccm-cms-types-baseContact/debian/ccm-settings.sh b/ccm-cms-types-baseContact/debian/ccm-settings.sh deleted file mode 100755 index 98c80cc62..000000000 --- a/ccm-cms-types-baseContact/debian/ccm-settings.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# -# Author: Berkan Eskikaya , 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 diff --git a/ccm-cms-types-baseContact/debian/changelog b/ccm-cms-types-baseContact/debian/changelog deleted file mode 100755 index 898707560..000000000 --- a/ccm-cms-types-baseContact/debian/changelog +++ /dev/null @@ -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. 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. 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. 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 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 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 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 Fri, 1 May 2004 15:41:43 +0100 - - -ccm-cms-types-organization (6.1.0-1) unstable; urgency=low - - * Initial release. - - -- Berkan Eskikaya Fri, 24 Apr 2004 12:27:56 +0100 diff --git a/ccm-cms-types-baseContact/debian/compat b/ccm-cms-types-baseContact/debian/compat deleted file mode 100755 index b8626c4cf..000000000 --- a/ccm-cms-types-baseContact/debian/compat +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/ccm-cms-types-baseContact/debian/config b/ccm-cms-types-baseContact/debian/config deleted file mode 100755 index 3b240fa27..000000000 --- a/ccm-cms-types-baseContact/debian/config +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/sh -# -# Author: Berkan Eskikaya , 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 - diff --git a/ccm-cms-types-baseContact/debian/control b/ccm-cms-types-baseContact/debian/control deleted file mode 100755 index 58eb8bddc..000000000 --- a/ccm-cms-types-baseContact/debian/control +++ /dev/null @@ -1,21 +0,0 @@ -Source: ccm-cms-types-organization -Section: contrib/web -Priority: optional -Maintainer: Runtime Packaging -Uploaders: David Pashley -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. diff --git a/ccm-cms-types-baseContact/debian/copyright b/ccm-cms-types-baseContact/debian/copyright deleted file mode 100755 index 2f47e3b15..000000000 --- a/ccm-cms-types-baseContact/debian/copyright +++ /dev/null @@ -1,15 +0,0 @@ -This package was debianized by Berkan Eskikaya 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'. - - diff --git a/ccm-cms-types-baseContact/debian/postinst b/ccm-cms-types-baseContact/debian/postinst deleted file mode 100755 index 5e36682a2..000000000 --- a/ccm-cms-types-baseContact/debian/postinst +++ /dev/null @@ -1,112 +0,0 @@ -#! /bin/sh -# postinst script for ccm-cms-types-organization -# -# see: dh_installdeb(1) -# -# Author: Berkan Eskikaya , 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: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-deconfigure' `in-favour' -# `removing' -# -# 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 - diff --git a/ccm-cms-types-baseContact/debian/postrm b/ccm-cms-types-baseContact/debian/postrm deleted file mode 100755 index 3209381b3..000000000 --- a/ccm-cms-types-baseContact/debian/postrm +++ /dev/null @@ -1,62 +0,0 @@ -#! /bin/sh -# postrm script for ccm-cms-types-organization -# -# see: dh_installdeb(1) -# -# Author: Berkan Eskikaya , 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 - - diff --git a/ccm-cms-types-baseContact/debian/prerm b/ccm-cms-types-baseContact/debian/prerm deleted file mode 100755 index ebf1e1b6c..000000000 --- a/ccm-cms-types-baseContact/debian/prerm +++ /dev/null @@ -1,60 +0,0 @@ -#! /bin/sh -# prerm script for ccm-cms-types-organization -# -# see: dh_installdeb(1) -# -# Author: Berkan Eskikaya , 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: -# * `remove' -# * `upgrade' -# * `failed-upgrade' -# * `remove' `in-favour' -# * `deconfigure' `in-favour' -# `removing' -# -# 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 - diff --git a/ccm-cms-types-baseContact/debian/rules b/ccm-cms-types-baseContact/debian/rules deleted file mode 100755 index eb481fbf5..000000000 --- a/ccm-cms-types-baseContact/debian/rules +++ /dev/null @@ -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 , 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/. - @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 diff --git a/ccm-cms-types-baseContact/debian/templates b/ccm-cms-types-baseContact/debian/templates deleted file mode 100755 index b9de55f8e..000000000 --- a/ccm-cms-types-baseContact/debian/templates +++ /dev/null @@ -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 , 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: @ - . - 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". diff --git a/ccm-cms-types-baseContact/pdl/com/arsdigita/content-types/BaseContact.pdl b/ccm-cms-types-baseContact/pdl/com/arsdigita/content-types/BaseContact.pdl index 8a2d4a475..c804999c7 100644 --- a/ccm-cms-types-baseContact/pdl/com/arsdigita/content-types/BaseContact.pdl +++ b/ccm-cms-types-baseContact/pdl/com/arsdigita/content-types/BaseContact.pdl @@ -2,12 +2,13 @@ model com.arsdigita.cms.contenttypes; import com.arsdigita.cms.contenttypes.Person; import com.arsdigita.cms.contenttypes.BaseAddress; +import com.arsdigita.kernel.ACSObject; import com.arsdigita.cms.*; // Contact Object 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; 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 ); } -object type BaseContactEntry { +object type BaseContactEntry extends ACSObject { String [1..1] key = ct_baseContactEntries.key VARCHAR(100); String [1..1] description = ct_baseContactEntries.description VARCHAR(100); @@ -28,3 +29,4 @@ object type BaseContactEntry { reference key ( ct_baseContactEntries.contactentry_id ); } + diff --git a/ccm-cms-types-baseContact/sql/ccm-zes-dbde/oracle-se-create.sql b/ccm-cms-types-baseContact/sql/ccm-zes-dbde/oracle-se-create.sql deleted file mode 100755 index 733784c1c..000000000 --- a/ccm-cms-types-baseContact/sql/ccm-zes-dbde/oracle-se-create.sql +++ /dev/null @@ -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 diff --git a/ccm-cms-types-baseContact/sql/ccm-zes-dbde/postgres-create.sql b/ccm-cms-types-baseContact/sql/ccm-zes-dbde/postgres-create.sql deleted file mode 100755 index 7ea108389..000000000 --- a/ccm-cms-types-baseContact/sql/ccm-zes-dbde/postgres-create.sql +++ /dev/null @@ -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; diff --git a/ccm-cms-types-baseContact/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/BaseContact.xml b/ccm-cms-types-baseContact/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/BaseContact.xml new file mode 100644 index 000000000..a43e3c5cd --- /dev/null +++ b/ccm-cms-types-baseContact/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/BaseContact.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + diff --git a/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContact.java b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContact.java index 41433fdf6..7bbfccf10 100755 --- a/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContact.java +++ b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContact.java @@ -23,7 +23,7 @@ import com.arsdigita.persistence.DataObject; import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.cms.ContentType; import com.arsdigita.cms.ContentPage; -import com.arsdigita.cms.ImageAsset; +import com.arsdigita.persistence.DataCollection; import com.arsdigita.util.Assert; import java.math.BigDecimal; @@ -41,7 +41,7 @@ public class BaseContact extends ContentPage { /** Data object type for tihs domain object */ public static final String BASE_DATA_OBJECT_TYPE - = "com.arsdigita.cms.contenttypes.baseContact"; + = "com.arsdigita.cms.contenttypes.BaseContact"; public BaseContact() { super(BASE_DATA_OBJECT_TYPE); diff --git a/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactEntry.java b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactEntry.java index bca929bc5..0c0fcc7a4 100644 --- a/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactEntry.java +++ b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactEntry.java @@ -20,12 +20,21 @@ 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 */ -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); /** PDL property names */ @@ -33,15 +42,43 @@ public class BaseContactEntry extends DomainObject { public static final String VALUE = "value"; 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 */ - 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 @@ -71,7 +108,7 @@ public class BaseContactEntry extends DomainObject { return (String) get(DESCRIPTION); } - public void setDescription(String Description) { + public void setDescription(String description) { set(DESCRIPTION, description); } } diff --git a/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactEntryCollection.java b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactEntryCollection.java index 48e2685e8..6a1460aca 100644 --- a/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactEntryCollection.java +++ b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactEntryCollection.java @@ -8,20 +8,25 @@ package com.arsdigita.cms.contenttypes; -import com.arsdigita.domain.DomainCollection; +import com.arsdigita.kernel.ACSObjectCollection; import com.arsdigita.persistence.DataCollection; -import org.apache.log4j.Logger; + /** * * @author quasi */ -public class BaseContactEntryCollection extends DomainCollection { +public class BaseContactEntryCollection extends ACSObjectCollection { /** * 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() { diff --git a/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactResources.properties b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactResources.properties index e69de29bb..dea3b3a40 100755 --- a/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactResources.properties +++ b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/BaseContactResources.properties @@ -0,0 +1,2 @@ +cms.contenttypes.ui.baseContact.person=Person +cms.contenttypes.ui.baseContact.address=Address diff --git a/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/ui/BaseContactPropertiesStep.java b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/ui/BaseContactPropertiesStep.java new file mode 100644 index 000000000..19b11f696 --- /dev/null +++ b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/ui/BaseContactPropertiesStep.java @@ -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; + + } + +} diff --git a/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/ui/BaseContactPropertyForm.java b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/ui/BaseContactPropertyForm.java new file mode 100644 index 000000000..0130c540a --- /dev/null +++ b/ccm-cms-types-baseContact/src/com/arsdigita/cms/contenttypes/ui/BaseContactPropertyForm.java @@ -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()); + } + } +} \ No newline at end of file