changeset 875:380167e9cfcf

Add link to generate csv file for Zoom(TM) pre-assigned rooms
author HIROSE Yuuji <yuuji@gentei.org>
date Wed, 02 Dec 2020 19:10:52 +0859
parents b2b0bb5bb707
children 610c3fb6d52a
files s4-blog.sh s4-funcs.sh scripts/s4-sns.case
diffstat 3 files changed, 43 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/s4-blog.sh	Wed Oct 28 16:01:46 2020 +0900
+++ b/s4-blog.sh	Wed Dec 02 19:10:52 2020 +0859
@@ -1077,6 +1077,35 @@
 	    -D_DUMPTABLE_="syscmd(cat)" $layout/form+dump.m4.html
   echo '</table>'
 }
+getteamcsv() {
+  gid=`numericalize "$1"`
+  grp=`getgroupbyid "$gid"`
+  err gid=$gid grp=$grp
+  if ! isgrpowner "$user" "$grp"; then
+    contentytpe 'text/plain; charset="utf-8"'; echo
+    echo "管理者メンバー以外は利用できません。" | html p; return
+  fi
+  fn="team-$gid.csv"
+  csv="$tmpd/$fn"
+  err csv=$csv
+  # We can leave csv mode here because this scripts will exit soon
+  query <<-EOF
+	.mode csv
+	.head 1
+	.output $csv
+	SELECT val "ルーム名を事前割り当て", user "メールアドレス"
+	       FROM grp_mem_m
+	       WHERE key='team'
+	       	 AND gname=(SELECT gname FROM grp WHERE rowid=$gid)
+	       ORDER BY val;
+	EOF
+  contenttype 'text/plain; charset="utf-8"'
+  echo "Content-Disposition: filename=\"$fn\""
+  echo "Content-Length: " `cat $csv | wc -c`; echo
+  #echo "Content-Type: " ${type#file:}; echo
+  cat $csv
+  exit
+}
 searchart() {
   _m4 -D_TITLE_="検索結果" $layout/html.m4.html
   kwd=`getpar kwd|nkf -wZ1`		# Convert Zenkaku-SPC to ASCII-SPC
--- a/s4-funcs.sh	Wed Oct 28 16:01:46 2020 +0900
+++ b/s4-funcs.sh	Wed Dec 02 19:10:52 2020 +0859
@@ -2913,13 +2913,20 @@
   if ! ismember $user "$grp"; then
     echo "加入者のみに許可された操作です。" | html p; return
   fi
+  isowner=""
+  isgrpowner "$user" "$grp" && isowner="yes"
+  err 2=$2 3=$3
+  case "$2" in
+    get:teamcsv)
+      teamcsv "$grid"
+      return
+      ;;
+  esac
   echo "グループ $grp 個別選択操作"  \
       | _m4 -D_TITLE_="syscmd(\`cat')" \
 	    -D_BODYCLASS_="`grp_getbodyclass \"$grp\"`" \
 	    $layout/html.m4.html
 
-  isowner=""
-  isgrpowner "$user" "$grp" && isowner="yes"
   usel=`getpar usel`
   if [ -n "$usel" ]; then
     uids=$(echo `echo $usel`|tr ' ' ',')
@@ -3141,6 +3148,9 @@
   else
     myhexteams=$(hexteams "$grp" "$user")
   fi
+  if [ -n "$isowner" -a -n "$allhexteams" ]; then
+    gettingcsv="<p>Download: <a href=\"?getteamcsv+$grid\">Team.csv</a> (Zoom Breakout Room 事前割り当てに使えます)</p>"
+  fi
   if [ -n "$myhexteams" ]; then
     rmteammsg="`cgi_radio rm rmteam 'id=\"cmrmteam\"'`<label accesskey=\"s\"
 title=\"Shortcut: s${nl}Strip a team tag from\"
@@ -3204,7 +3214,7 @@
 ${isowner:+$cmmsg$excmsg}
 `cgi_radio rm close id="x"`<label for="x" accesskey="x">×</label>
 </div>
-<h4>$htmlgrp 参加者一覧</h4>$fromtonote
+<h4>$htmlgrp 参加者一覧</h4>$gettingcsv$fromtonote
 <table class="td2r thl">
 `sq $db -header -html "$sql"`
 </table>
--- a/scripts/s4-sns.case	Wed Oct 28 16:01:46 2020 +0900
+++ b/scripts/s4-sns.case	Wed Dec 02 19:10:52 2020 +0859
@@ -46,7 +46,7 @@
     echo "Refresh: 0; $newurl"; echo
     exit 0
     ;;
-  lshandout|lshandoutall|gethandout|gethandoutcsv|gethandoutcsv2|blogseen)
+  lshandout|lshandoutall|gethandout|gethandoutcsv|gethandoutcsv2|blogseen|getteamcsv)
     case "$stage" in
       lshandout*|blogseen*) contenttype; echo ;;
     esac

yatex.org