[Koha-patches] [PATCH] Bug 10157 - koha-email-enable error handling
Tomas Cohen Arazi
tomascohen at gmail.com
Tue Apr 30 15:09:24 CEST 2013
koha-email-enable now
- Checks the instance exists.
- Checks if email is already enabled.
Regards
To+
Sponsored-by: Universidad Nacional de Córdoba
---
debian/docs/koha-email-enable.xml | 4 +-
debian/scripts/koha-email-enable | 81 +++++++++++++++++++++++++++++++------
2 files changed, 71 insertions(+), 14 deletions(-)
diff --git a/debian/docs/koha-email-enable.xml b/debian/docs/koha-email-enable.xml
index 0f39010..1aeb2f1 100644
--- a/debian/docs/koha-email-enable.xml
+++ b/debian/docs/koha-email-enable.xml
@@ -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>
diff --git a/debian/scripts/koha-email-enable b/debian/scripts/koha-email-enable
index da63589..a130c49 100755
--- a/debian/scripts/koha-email-enable
+++ b/debian/scripts/koha-email-enable
@@ -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
--
1.7.9.5
More information about the Koha-patches
mailing list