From 896bb7ec54d128d829ed34a06a85a64586e53bff Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 5 Apr 2018 11:07:30 -0300 Subject: [PATCH] Bug 20525: Add --timezone switch to koha-create This patch adds a --timezone switch to koha-create so the timezone can be set on creation time. It defaults to empty (i.e. using the server's local time). To test: - Create an instance: $ sudo koha-create --create-db timezone1 => SUCCESS: /etc/koha/sites/timezone1/koha-conf.xml contains an empty entry. - Apply this patch - Run: $ perl misc4dev/cp_debian_files.pl - Create a new instance: $ sudo koha-create --create-db timezone2 => SUCCESS: /etc/koha/sites/timezone2/koha-conf.xml contains an empty entry (i.e. the current behaviour is preserved). - Create a new instance: $ sudo koha-create --create-db --timezone Your/Timezone timezone3 => SUCCESS: /etc/koha/sites/timezone3/koha-conf.xml contains Your/Timezone (i.e. introduced behaviour works) - Sign off :-D Sponsored-by: ByWater Solutions Signed-off-by: Mark Tompsett Signed-off-by: Kyle M Hall Signed-off-by: Jonathan Druart --- debian/docs/koha-create.xml | 8 ++++++++ debian/scripts/koha-create | 13 ++++++++++++- debian/templates/koha-conf-site.xml.in | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/debian/docs/koha-create.xml b/debian/docs/koha-create.xml index d4bbadb40d..77a3e7d7f8 100644 --- a/debian/docs/koha-create.xml +++ b/debian/docs/koha-create.xml @@ -40,6 +40,7 @@ port directory + time/zone directory | @@ -185,6 +186,13 @@ + + + + Specify a for the created instance. e.g. America/Argentina + + + diff --git a/debian/scripts/koha-create b/debian/scripts/koha-create index e0fd5cdd77..65d62bd8df 100755 --- a/debian/scripts/koha-create +++ b/debian/scripts/koha-create @@ -71,6 +71,7 @@ Options: conjunction with --defaultsql and --populate-db. --template-cache-dir Set a user defined template_cache_dir. It defaults to /var/cache/koha//templates + --timezone time/zone Specify a timezone. e.g. America/Argentina --upload-path dir Set a user defined upload_path. It defaults to /var/lib/koha//uploads --letsencrypt Set up a https-only site with letsencrypt certificates @@ -115,6 +116,7 @@ generate_config_file() { -e "s/__UNIXUSER__/$username/g" \ -e "s/__UNIXGROUP__/$username/g" \ -e "s#__TEMPLATE_CACHE_DIR__#$TEMPLATE_CACHE_DIR#g" \ + -e "s#__TIMEZONE__#$TIMEZONE#g" \ -e "s#__UPLOAD_PATH__#$UPLOAD_PATH#g" \ -e "s/__LOG_DIR__/\/var\/log\/koha\/$name/g" \ -e "s/__PLUGINS_DIR__/\/var\/lib\/koha\/$name\/plugins/g" \ @@ -413,6 +415,8 @@ DEFAULT_MEMCACHED_PREFIX="koha_" UPLOAD_PATH_BASE="/var/lib/koha" UPLOAD_DIR="uploads" UPLOAD_PATH="" +# timezone defaults to empty +TIMEZONE="" # cache base dir CACHE_DIR_BASE="/var/cache/koha" # Generate a randomizaed API secret @@ -443,7 +447,7 @@ fi [ $# -ge 1 ] && [ $# -le 16 ] || ( usage ; die "Error: wrong parameters" ) -TEMP=`getopt -o chrpm:l:d:f:b:a: -l create-db,request-db,populate-db,use-db,enable-sru,sru-port:,help,marcflavor:,auth-idx:,biblio-idx:,zebralang:,defaultsql:,configfile:,passwdfile:,dbhost:,database:,adminuser:,memcached-servers:,memcached-prefix:,template-cache-dir:,upload-path:,letsencrypt, \ +TEMP=`getopt -o chrpm:l:d:f:b:a: -l create-db,request-db,populate-db,use-db,enable-sru,sru-port:,help,marcflavor:,auth-idx:,biblio-idx:,zebralang:,defaultsql:,configfile:,passwdfile:,dbhost:,database:,adminuser:,memcached-servers:,memcached-prefix:,template-cache-dir:,timezone:,upload-path:,letsencrypt, \ -n "$0" -- "$@"` # Note the quotes around `$TEMP': they are essential! @@ -461,6 +465,7 @@ CLO_MEMCACHED_PREFIX="" CLO_UPLOAD_PATH="" CLO_LETSENCRYPT="" CLO_TEMPLATE_CACHE_DIR="" +CLO_TIMEZONE="" while true ; do case "$1" in @@ -502,6 +507,8 @@ while true ; do SRU_SERVER_PORT="$2" ; shift 2 ;; --template-cache-dir) CLO_TEMPLATE_CACHE_DIR="$2" ; shift 2 ;; + --timezone) + CLO_TIMEZONE="$2" ; shift 2 ;; --upload-path) CLO_UPLOAD_PATH="$2" ; shift 2 ;; --letsencrypt) @@ -548,6 +555,10 @@ then PASSWDFILE="$CLO_PASSWDFILE" fi +if [ "$CLO_TIMEZONE" != "" ]; then + TIMEZONE=$CLO_TIMEZONE +fi + if [ "$CLO_BIBLIOS_INDEXING_MODE" != "" ]; then BIBLIOS_INDEXING_MODE=$CLO_BIBLIOS_INDEXING_MODE fi diff --git a/debian/templates/koha-conf-site.xml.in b/debian/templates/koha-conf-site.xml.in index 0a4f02eeab..6d3d31eda2 100644 --- a/debian/templates/koha-conf-site.xml.in +++ b/debian/templates/koha-conf-site.xml.in @@ -367,7 +367,7 @@ __END_SRU_PUBLICSERVER__ - + __TIMEZONE__ -- 2.39.5