Browse Source

Bug 10150 - koha-email-disable error handling

koha-email-disable now
- Checks the instance exists.
- Checks if email is already disabled.

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
new/bootstrap-opac
Tomás Cohen Arazi 11 years ago
committed by Galen Charlton
parent
commit
31b43ac1fe
  1. 4
      debian/docs/koha-email-disable.xml
  2. 81
      debian/scripts/koha-email-disable

4
debian/docs/koha-email-disable.xml

@ -17,7 +17,7 @@
<refnamediv> <refnamediv>
<refname>koha-email-disable</refname> <refname>koha-email-disable</refname>
<refpurpose>Turn off the email for a Koha instance.</refpurpose> <refpurpose>Turn off the email for Koha instances.</refpurpose>
<refclass>UNIX/Linux</refclass> <refclass>UNIX/Linux</refclass>
</refnamediv> </refnamediv>
@ -28,7 +28,7 @@
</refsynopsisdiv> </refsynopsisdiv>
<refsect1><title>Description</title> <refsect1><title>Description</title>
<para>Turn off the email for a Koha instance.</para> <para>Turn off the email for Koha instances.</para>
</refsect1> </refsect1>
<refsect1><title>See also</title> <refsect1><title>See also</title>

81
debian/scripts/koha-email-disable

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# #
# koha-email-disable -- turn off the email for a Koha instance # koha-email-disable - turn off the email for Koha instances
# Copyright 2010 Catalyst IT, Ltd # Copyright 2010 Catalyst IT, Ltd
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@ -18,19 +18,76 @@
set -e set -e
if [ "$#" = 0 ] die()
then {
echo "Disables the email for a koha instance." 1>&2 echo "$@" 1>&2
echo "Usage: $0 instancename..." 1>&2
exit 1 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
}
disable_email()
{
local instancename=$1
local libdir="/var/lib/koha"
rm -f $libdir/$instancename/email.enabled
echo "Disabled email for instance $instancename."
}
usage()
{
local scriptname=$0
cat <<EOF
Disables the email for Koha instances.
Usage: $scriptname instancename1 instancename2...
EOF
}
# Parse command line.
[ $# -ge 1 ] || ( usage ; die "Missing instance name..." )
for name in "$@" for name in "$@"
do do
if [ ! -d $libdir/$name ] if is_instance $name; then
then if is_email_enabled $name; then
echo "$0: no koha instance \"$name\"" 1>&2 disable_email $name
continue else
warn "Email already disabled for instance $name."
fi
else
warn "Unknown instance $name."
fi fi
rm -f $libdir/$name/email.enabled
done done
exit 0

Loading…
Cancel
Save