changeset 646:d9bce34a863b

Email4group should use same algorithm as email4groupbyuid
author HIROSE Yuuji <yuuji@gentei.org>
date Thu, 07 May 2020 23:03:33 +0900
parents 21522dcada92
children a8a5e6437f1a
files s4-funcs.sh
diffstat 1 files changed, 10 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/s4-funcs.sh	Thu May 07 20:47:08 2020 +0900
+++ b/s4-funcs.sh	Thu May 07 23:03:33 2020 +0900
@@ -1401,34 +1401,30 @@
   qgrp=`sqlquote "$1"`; shift
   users=`for i; do sqlquote "$i"; done`
   users=`echo $users|tr ' ' ','`
-  sql="select coalesce(s.val, g.user) from grp_mem g
-	left join grp_mem_s s on g.gname=s.gname and g.user=s.user
-	and s.key='email'
-	where g.gname=$qgrp and g.user in ($users);"
-  query "$sql"
-}
-email4groupbyuid() {
-  # Get for-$1=group email address(es) for $2...=user-ids
-  qgrp=`sqlquote "$1"`; shift
-  uids=`echo "$@"`
-  uids=`echo $uids|tr ' ' ','`
   sql="WITH
 	grpemails AS (
 	  SELECT gname, user, val email
 	  FROM grp_mem NATURAL JOIN grp_mem_s
 	  WHERE key='email' AND gname=$qgrp),
 	useremails AS (
-	  SELECT user.rowid rid, user.name, val email
+	  SELECT user.name, val email
 	  FROM user
 	       LEFT JOIN user_m
 	       ON user.name=user_m.name AND user_m.key='email')
 	SELECT DISTINCT coalesce(g.email, u.email, u.name)
 	FROM  useremails u LEFT JOIN grpemails g
 	      ON u.name=g.user
-	WHERE u.rid in ($uids);"
-  ## err email4gByid `echo $sql`
+	WHERE u.name in ($users);"
   query "$sql"
 }
+email4groupbyuid() {
+  # Get for-$1=group email address(es) for $2...=user-ids
+  g=$1; shift
+  uids=`echo "$@"`
+  uids=`echo $uids|tr ' ' ','`
+  sql="SELECT DISTINCT name FROM user WHERE rowid IN ($uids);"
+  email4group "$1" `query "$sql"`
+}
 collectmembersbyid() {
   # Collect user names of group specified by grid
   rid=${1%%[!0-9]*}		# Cleaning

yatex.org