view scripts/add-group-csv.sh @ 577:67ecd5901590

Inhibit non-group admin from cloning group
author HIROSE Yuuji <yuuji@gentei.org>
date Fri, 14 Jun 2019 09:27:11 +0900
parents 2a48690b8cbc
children 789258aa857a
line wrap: on
line source

#!/bin/sh

if [ -z "$1" ]; then
  cat<<-EOF >&2
	Usage: $0 CSVfile
	       $0 -a CSVfile		# for al
	Csv file should be the form of:
	   GroupName,UserName(email)
	EOF
  exit 1
fi
cd `dirname $0`/..
if ! . ./s4-funcs.sh; then
  echo "Cannot find s4-funcs.sh, which should be located in $mydir/.."
  exit 1
fi

target=$(cd `dirname "$1"`; pwd)/`basename $1`

query<<-EOF
	.mode csv
	CREATE TEMPORARY TABLE _gusers(gname, user, admin);
	.import $target _gusers
	REPLACE INTO grp SELECT distinct gname FROM _gusers;

	CREATE TEMPORARY TABLE _default_grp_attr(key, val);
	INSERT INTO _default_grp_attr
	VALUES ('tag', 'lecture'), ('mtime', datetime('now', 'localtime'));

	REPLACE INTO grp_s
	 SELECT gname, key, 'string', val, NULL
	 FROM (SELECT distinct gname FROM _gusers)
	      JOIN _default_grp_attr;
	REPLACE INTO grp_mem SELECT gname, user FROM _gusers;
	REPLACE INTO grp_adm SELECT gname, user
	FROM _gusers WHERE admin LIKE 'admin';
EOF

yatex.org