Changes for page ユーザープロフィール
Last modified by Super Admin on 2026/03/22 00:39
From version 1.1
edited by Super Admin
on 2026/03/05 22:05
on 2026/03/05 22:05
Change comment:
There is no comment for this version
To version
33.1
edited by Super Admin
on 2026/03/19 16:40
on 2026/03/19 16:40
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -64,35 +64,36 @@ 64 64 $response.sendRedirect($xwiki.getURL("SeitokaiCode.MyPage", "view")) 65 65 #end 66 66 67 -= <svg class="ico" style="width:1.1em;height:1.1em;vertical-align:-0.15em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>$profileDisplayName =67 += $profileDisplayName = 68 68 69 69 {{html clean="false"}} 70 70 <div class="seitokai-badge-container"> 71 71 #if($profileAccountType == 'admin') 72 - <span class="badge badge-admin"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg> 管理者</span>72 + <span class="badge badge-admin"><svg class="ico" viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg> 管理者</span> 73 73 #elseif($profileAccountType == 'verified') 74 - <span class="badge badge-verified"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24"fill="none"stroke="currentColor" stroke-width="2.5"stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg> 承認済み</span>74 + <span class="badge badge-verified"><svg class="ico" viewBox="0 0 24 24" stroke-width="2.5"><path d="M20 6L9 17l-5-5"/></svg> 承認済み</span> 75 75 #elseif($profileAccountType == 'referred') 76 - <span class="badge badge-referred"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71"/></svg> 紹介</span>76 + <span class="badge badge-referred"><svg class="ico" viewBox="0 0 24 24"><path d="M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71"/></svg> 紹介</span> 77 77 #else 78 78 <span class="badge badge-general">一般</span> 79 79 #end 80 80 #if($profileUserRole == 'student') 81 - <span class="badge badge-role-student"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 生徒</span> 81 + <span class="badge badge-role-student"><svg class="ico" viewBox="0 0 24 24"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 生徒</span> 82 + #set($profileIsOfficer = $!targetDoc.getValue('isOfficer')) 83 + #if($profileIsOfficer == 'true') 84 + <span class="badge badge-role-officer"><svg class="ico" viewBox="0 0 24 24"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg> 役員</span> 85 + #end 82 82 #elseif($profileUserRole == 'teacher') 83 - <span class="badge badge-role-teacher"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 016.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z"/></svg> 教員</span>87 + <span class="badge badge-role-teacher"><svg class="ico" viewBox="0 0 24 24"><path d="M4 19.5A2.5 2.5 0 016.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z"/></svg> 教員</span> 84 84 #elseif($profileUserRole == 'graduate') 85 - <span class="badge badge-role-graduate"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 卒業生</span>89 + <span class="badge badge-role-graduate"><svg class="ico" viewBox="0 0 24 24"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 卒業生</span> 86 86 #end 87 - #if($profileGrade && $profileGrade != '') 88 - <span class="badge badge-grade">$profileGrade</span> 89 - #end 90 90 #if($profileUserStatus == 'graduated') 91 - <span class="badge badge-status-graduated"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 卒業済み</span>92 + <span class="badge badge-status-graduated"><svg class="ico" viewBox="0 0 24 24"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 卒業済み</span> 92 92 #elseif($profileUserStatus == 'on_leave') 93 - <span class="badge badge-status-onleave"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="4" width="4" height="16" rx="1"/><rect x="14" y="4" width="4" height="16" rx="1"/></svg> 休学中</span>94 + <span class="badge badge-status-onleave"><svg class="ico" viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="4" width="4" height="16" rx="1"/><rect x="14" y="4" width="4" height="16" rx="1"/></svg> 休学中</span> 94 94 #elseif($profileUserStatus == 'transferred') 95 - <span class="badge badge-status-transferred"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/></svg> 転校済み</span>96 + <span class="badge badge-status-transferred"><svg class="ico" viewBox="0 0 24 24"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/></svg> 転校済み</span> 96 96 #end 97 97 </div> 98 98 {{/html}} ... ... @@ -101,7 +101,7 @@ 101 101 102 102 {{html clean="false"}} 103 103 <div class="school-info-card"> 104 - <h2><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg> 公開情報</h2>105 + <h2><span><svg class="ico" viewBox="0 0 24 24"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg> 公開情報</span></h2> 105 105 <table class="wiki-table school-info-table"> 106 106 <tr><th>表示名</th><td><strong>$profileDisplayName</strong></td></tr> 107 107 <tr><th>アカウント種別</th><td> ... ... @@ -116,48 +116,49 @@ 116 116 #elseif($profileUserRole == 'graduate')卒業生 117 117 #else$!profileUserRole#end 118 118 </td></tr> 119 - <tr><th>所属校</th><td> 120 + ## --- 学校情報を中学・高校・現任校ラベルで表示 --- 121 + #set($profileSecondarySchoolCode = $!targetDoc.getValue('secondarySchoolCode')) 122 + #set($profileSecondarySchoolName = $!targetDoc.getValue('secondarySchoolName')) 123 + #set($profileAlumniSchoolCode = $!targetDoc.getValue('alumniSchoolCode')) 124 + #set($profileAlumniSchoolName = $!targetDoc.getValue('alumniSchoolName')) 125 + #set($pMidCode = '')#set($pMidName = '') 126 + #set($pHiCode = '')#set($pHiName = '') 127 + #if($profileSchoolCode && $profileSchoolCode.length() >= 2) 128 + #set($pst = $profileSchoolCode.substring(0, 2)) 129 + #if($pst == 'C1' || $pst == 'C2')#set($pMidCode = $profileSchoolCode)#set($pMidName = $profileSchoolName) 130 + #elseif($pst == 'D1' || $pst == 'D2')#set($pHiCode = $profileSchoolCode)#set($pHiName = $profileSchoolName)#end 131 + #end 132 + #if($profileSecondarySchoolCode && $profileSecondarySchoolCode.length() >= 2) 133 + #set($ps2t = $profileSecondarySchoolCode.substring(0, 2)) 134 + #if($ps2t == 'C1' || $ps2t == 'C2')#set($pMidCode = $profileSecondarySchoolCode)#set($pMidName = $profileSecondarySchoolName) 135 + #elseif($ps2t == 'D1' || $ps2t == 'D2')#set($pHiCode = $profileSecondarySchoolCode)#set($pHiName = $profileSecondarySchoolName)#end 136 + #end 137 + #set($pIsGrad = ($profileUserRole == 'graduate')) 138 + #if($profileUserRole == 'teacher') 120 120 #if($profileSchoolCode && $profileSchoolCode != '') 121 - <a href="/xwiki/bin/view/Schools/${profileSchoolCode}/WebHome">$!profileSchoolName</a> 122 - #else 123 - 未公開 140 + <tr><th>現任校</th><td><a href="/bin/Schools/${profileSchoolCode}/WebHome">$!profileSchoolName</a></td></tr> 124 124 #end 125 - </td></tr> 126 - #if($profileUserRole == 'student' && $profileGrade != '') 127 - <tr><th>学年</th><td>$profileGrade</td></tr> 142 + ## 教員の出身校を alumni から復元 143 + #if($profileAlumniSchoolCode && $profileAlumniSchoolCode.length() >= 2) 144 + #set($pat = $profileAlumniSchoolCode.substring(0, 2)) 145 + #if(($pat == 'D1' || $pat == 'D2') && $pHiCode == '')#set($pHiCode = $profileAlumniSchoolCode)#set($pHiName = $profileAlumniSchoolName)#end 146 + #if(($pat == 'C1' || $pat == 'C2') && $pMidCode == '')#set($pMidCode = $profileAlumniSchoolCode)#set($pMidName = $profileAlumniSchoolName)#end 147 + #end 128 128 #end 129 - <tr><th>在籍状態</th><td>130 - #if($profileUserStatus== 'active')在籍中131 - #elseif($profileUserStatus == 'graduated')卒業済み132 - #elseif($profileUserStatus=='on_leave')休学中133 - #elseif($profileUserStatus== 'transferred')転校済み134 - #else$!profileUserStatus#end135 - </td></tr>149 + #if($pMidCode != '') 150 + <tr><th>#if($pIsGrad || $profileUserRole == 'teacher')出身中学#else中学校#end</th><td><a href="/bin/Schools/${pMidCode}/WebHome">$!pMidName</a></td></tr> 151 + #end 152 + #if($pHiCode != '') 153 + <tr><th>#if($pIsGrad || $profileUserRole == 'teacher')出身高校#else高等学校#end</th><td><a href="/bin/Schools/${pHiCode}/WebHome">$!pHiName</a></td></tr> 154 + #end 155 + ## 学年はプライバシー保護のため公開プロフィールには表示しない 136 136 </table> 137 137 </div> 138 138 {{/html}} 139 139 140 -== このユーザーの投稿・編集履歴 == 141 - 142 -{{velocity}} 143 -#set($query = $services.query.xwql("where doc.author = '${targetUser}' order by doc.date desc")) 144 -#set($query = $query.setLimit(20)) 145 -#set($results = $query.execute()) 146 - 147 -#if($results.size() > 0) 148 -|=ページ|=日時 149 -#foreach($docName in $results) 150 - #set($actDoc = $xwiki.getDocument($docName)) 151 -|[[$actDoc.title>>$docName]]|$xwiki.formatDate($actDoc.date, "yyyy/MM/dd HH:mm") 152 -#end 153 -#else 154 -//このユーザーの公開投稿はまだありません。// 155 -#end 156 -{{/velocity}} 157 - 158 158 {{html clean="false"}} 159 -<div style="margin-top:24px; padding:14px 18px; background:#f4f5fb; border-radius:8px; font-size:0.85em; color:#4a4e6a; text-align:center;">160 - <svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24"fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg> 本名・メールアドレス・警告状態などの個人情報は非公開です161 +<div class="info-note info-note-lg" style="margin-top:24px;text-align:center;"> 162 + <svg class="ico" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg> 本名・メールアドレス・警告状態などの個人情報は非公開です 161 161 </div> 162 162 {{/html}} 163 163