12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- {{template "base/head" .}}
- <div role="main" aria-label="{{.Title}}" class="page-content organization teams">
- {{template "org/header" .}}
- <div class="ui container">
- {{template "base/alert" .}}
- <div class="ui stackable grid">
- {{template "org/team/sidebar" .}}
- <div class="ui ten wide column">
- {{template "org/team/navbar" .}}
- {{if .IsOrganizationOwner}}
- <div class="ui top attached segment">
- <form class="ui form ignore-dirty tw-flex tw-flex-wrap tw-gap-2" action="{{$.OrgLink}}/teams/{{$.Team.LowerName | PathEscape}}/action/add" method="post">
- {{.CsrfTokenHtml}}
- <input type="hidden" name="uid" value="{{.SignedUser.ID}}">
- <div id="search-user-box" class="ui search tw-mr-2"{{if .IsEmailInviteEnabled}} data-allow-email="true" data-allow-email-description="{{ctx.Locale.Tr "org.teams.invite_team_member" $.Team.Name}}"{{end}}>
- <div class="ui input">
- <input class="prompt" name="uname" placeholder="{{ctx.Locale.Tr "search.user_kind"}}" autocomplete="off" required>
- </div>
- </div>
- <button class="ui primary button">{{ctx.Locale.Tr "org.teams.add_team_member"}}</button>
- </form>
- </div>
- {{end}}
- <div class="ui{{if not .IsOrganizationOwner}} top{{end}} attached segment">
- <div class="flex-list">
- {{range .Team.Members}}
- <div class="flex-item tw-items-center">
- <div class="flex-item-leading">
- <a href="{{.HomeLink}}">{{ctx.AvatarUtils.Avatar . 32}}</a>
- </div>
- <div class="flex-item-main">
- <div class="flex-item-title">
- {{template "shared/user/name" .}}
- </div>
- </div>
- <div class="flex-item-trailing">
- {{if and $.IsOrganizationOwner (not (and ($.Team.IsOwnerTeam) (eq (len $.Team.Members) 1)))}}
- <form>
- <button class="ui red button delete-button" data-modal-id="remove-team-member"
- data-url="{{$.OrgLink}}/teams/{{$.Team.LowerName | PathEscape}}/action/remove" data-datauid="{{.ID}}"
- data-name="{{.DisplayName}}"
- data-data-team-name="{{$.Team.Name}}">{{ctx.Locale.Tr "org.members.remove"}}</button>
- </form>
- {{end}}
- </div>
- </div>
- {{else}}
- <div class="flex-item">
- <span class="text grey tw-italic">{{ctx.Locale.Tr "org.teams.members.none"}}</span>
- </div>
- {{end}}
- </div>
- </div>
- {{if and .Invites $.IsOrganizationOwner}}
- <h4 class="ui top attached header">{{ctx.Locale.Tr "org.teams.invite_team_member.list"}}</h4>
- <div class="ui attached segment">
- <div class="flex-list">
- {{range .Invites}}
- <div class="flex-item tw-items-center">
- <div class="flex-item-main">
- {{.Email}}
- </div>
- <div class="flex-item-trailing">
- <form action="{{$.OrgLink}}/teams/{{$.Team.LowerName | PathEscape}}/action/remove_invite" method="post">
- {{$.CsrfTokenHtml}}
- <input type="hidden" name="iid" value="{{.ID}}">
- <button class="ui red button">{{ctx.Locale.Tr "org.members.remove"}}</button>
- </form>
- </div>
- </div>
- {{end}}
- </div>
- </div>
- {{end}}
- </div>
- </div>
- </div>
- </div>
- <div class="ui g-modal-confirm delete modal" id="remove-team-member">
- <div class="header">
- {{ctx.Locale.Tr "org.members.remove"}}
- </div>
- <div class="content">
- <p>{{ctx.Locale.Tr "org.members.remove.detail" (`<span class="name"></span>`|SafeHTML) (`<span class="dataTeamName"></span>`|SafeHTML)}}</p>
- </div>
- {{template "base/modal_actions_confirm" .}}
- </div>
- {{template "base/footer" .}}
|