changeset 576:c81511a6b7e0

Add feature of "clone without team"
author HIROSE Yuuji <yuuji@gentei.org>
date Fri, 14 Jun 2019 09:01:51 +0900
parents 618ecf019115
children 67ecd5901590
files s4-funcs.sh
diffstat 1 files changed, 24 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/s4-funcs.sh	Sat May 25 22:28:16 2019 +0900
+++ b/s4-funcs.sh	Fri Jun 14 09:01:51 2019 +0900
@@ -1541,7 +1541,12 @@
 }
 groupclone() {
   # $1=grp-rowid of clone-base group
-  qgrp=`query "SELECT quote(gname) FROM grp WHERE rowid=$1;"`
+  rid=${1%%[!0-9]*}		# Cleaning
+  case "$1" in
+    */noteam)
+      noteam="AND key != 'team'" ;;
+  esac
+  qgrp=`query "SELECT quote(gname) FROM grp WHERE rowid=$rid;"`
   if [ -z "$qgrp" ]; then
     echo "無効なグループIDです($1)" | html p
     return
@@ -1575,7 +1580,7 @@
 	REPLACE INTO grp_mem_s SELECT $newqname, user, key, type, val, bin
 		     	       FROM grp_mem_s WHERE gname=$qgrp;
 	REPLACE INTO grp_mem_m SELECT $newqname, user, key, type, val, bin
-		     	       FROM grp_mem_m WHERE gname=$qgrp;
+		     	       FROM grp_mem_m WHERE gname=$qgrp $noteam;
 	-- Copy administrators --
 	REPLACE INTO grp_adm SELECT $newqname, user
 		     	     FROM grp_adm WHERE gname=$qgrp;
@@ -1609,8 +1614,23 @@
   # GF_ACTION="?grp+$1" edittable "$formdir/grp.def" "grp" "$rowid" #2015-0804
   GF_STAGE="groupupdate" edittable "$formdir/grp.def" "grp" "$rowid"
   if [ -z "$STOPCLONEMSG" ]; then
-    echo "同じ構成員で新規グループ<a href=\"?groupclone+$rowid\">作成</a>" \
-	| html p
+    html div 'class="fold"' <<-EOF
+	`cgi_checkbox clone yes id="clone"`<label
+	 for="clone">同一メンバーで別グループを作成する</label>
+	<div>
+	 <p>構成メンバーが同じ新規グループを作成します。</p>
+	 <table>
+	  <tr><td><a href="?groupclone+$rowid">
+	   <button>クローン作成(チームも複製)</button></a></td>
+	   <td><p>(チームなどもそのままで掲示板なしの状態から)</p></td></tr>
+	  <tr><td><a href="?groupclone+$rowid/noteam">
+	   <button>作成(チームなし)</button></a></td>
+	   <td>(チームは引き継がずメンバーのみ同じグループを作成)</td></tr>
+	 </table>
+	 <p>ボタンを押すと即作成します。不要な場合はグループ編集で
+	 削除してください。</p>
+	</div>
+	EOF
   fi
 }
 mems() {

yatex.org