Bug 10157 - koha-email-enable error handling
koha-email-enable now - Checks the instance exists. - Checks if email is already enabled. Regards To+ Sponsored-by: Universidad Nacional de Córdoba Signed-off-by: Robin Sheat <robin@catalyst.net.nz> Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This commit is contained in:
parent
39d3b9088a
commit
1126dd8bf3
2 changed files with 71 additions and 14 deletions
4
debian/docs/koha-email-enable.xml
vendored
4
debian/docs/koha-email-enable.xml
vendored
|
@ -17,7 +17,7 @@
|
|||
|
||||
<refnamediv>
|
||||
<refname>koha-email-enable</refname>
|
||||
<refpurpose>Turn on the email for a Koha instance.</refpurpose>
|
||||
<refpurpose>Turn on the email for Koha instances.</refpurpose>
|
||||
<refclass>UNIX/Linux</refclass>
|
||||
</refnamediv>
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
|||
</refsynopsisdiv>
|
||||
|
||||
<refsect1><title>Description</title>
|
||||
<para>Turn on the email for a Koha instance.</para>
|
||||
<para>Turn on the email for Koha instances.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1><title>See also</title>
|
||||
|
|
81
debian/scripts/koha-email-enable
vendored
81
debian/scripts/koha-email-enable
vendored
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# koha-email-enable -- turn on the email for a Koha instance
|
||||
# koha-email-enable - turn on the email for Koha instances
|
||||
# Copyright 2010 Catalyst IT, Ltd
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
|
@ -18,19 +18,76 @@
|
|||
|
||||
set -e
|
||||
|
||||
if [ "$#" = 0 ]
|
||||
then
|
||||
echo "Enables email for a koha instance." 1>&2
|
||||
echo "Usage: $0 instancename..." 1>&2
|
||||
die()
|
||||
{
|
||||
echo "$@" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
libdir=/var/lib/koha
|
||||
}
|
||||
|
||||
warn()
|
||||
{
|
||||
echo "$@" 1>&2
|
||||
}
|
||||
|
||||
is_instance()
|
||||
{
|
||||
local instancename=$1
|
||||
|
||||
if find /etc/koha/sites -mindepth 1 -maxdepth 1 \
|
||||
-type d -printf '%f\n'\
|
||||
| grep -q -x $instancename ; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
is_email_enabled()
|
||||
{
|
||||
local instancename=$1
|
||||
|
||||
if [ -e /var/lib/koha/$instancename/email.enabled ]; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
enable_email()
|
||||
{
|
||||
local instancename=$1
|
||||
local libdir="/var/lib/koha"
|
||||
|
||||
touch $libdir/$instancename/email.enabled
|
||||
|
||||
echo "Enabled email for instance $instancename."
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
local scriptname=$0
|
||||
cat <<EOF
|
||||
Enables the email for Koha instances.
|
||||
|
||||
Usage: $scriptname instancename1 instancename2...
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
# Parse command line.
|
||||
[ $# -ge 1 ] || ( usage ; die "Missing instance name..." )
|
||||
|
||||
for name in "$@"
|
||||
do
|
||||
if [ ! -d $libdir/$name ]
|
||||
then
|
||||
echo "$0: no koha instance \"$name\"" 1>&2
|
||||
continue
|
||||
if is_instance $name; then
|
||||
if ! is_email_enabled $name; then
|
||||
enable_email $name
|
||||
else
|
||||
warn "Email already enabled for instance $name."
|
||||
fi
|
||||
else
|
||||
warn "Unknown instance $name."
|
||||
fi
|
||||
touch $libdir/$name/email.enabled
|
||||
done
|
||||
|
||||
exit 0
|
||||
|
|
Loading…
Reference in a new issue