Full Mattermost server source with integrated Community Enterprise features. Includes vendor directory for offline/air-gapped builds. Structure: - enterprise-impl/: Enterprise feature implementations - enterprise-community/: Init files that register implementations - enterprise/: Bridge imports (community_imports.go) - vendor/: All dependencies for offline builds Build (online): go build ./cmd/mattermost Build (offline/air-gapped): go build -mod=vendor ./cmd/mattermost 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
99 lines
2.5 KiB
HTML
99 lines
2.5 KiB
HTML
{{define "globalrelay_compliance_export"}}
|
|
<style type="text/css">
|
|
body {
|
|
font-family:Arial, sans-serif;
|
|
font-size:14px;
|
|
font-weight:normal;
|
|
}
|
|
|
|
.summary-list ul {
|
|
padding: 0px;
|
|
list-style:none;
|
|
}
|
|
.summary-list li {
|
|
display: inline;
|
|
padding: 0 1em 0 0;
|
|
}
|
|
.summary-list .bold {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.participants {
|
|
border-collapse:collapse;
|
|
border-spacing:0;
|
|
}
|
|
.participants td {
|
|
padding:10px 5px;
|
|
border:1px solid black;
|
|
overflow:hidden;
|
|
text-align: center;
|
|
word-break:normal;
|
|
}
|
|
.participants th {
|
|
padding:10px 5px;
|
|
border:1px solid black;
|
|
overflow:hidden;
|
|
word-break:normal;
|
|
}
|
|
.participants th,td {
|
|
vertical-align:top
|
|
}
|
|
|
|
.message-list ul {
|
|
list-style:none;
|
|
padding: 0;
|
|
}
|
|
.message-list li {
|
|
padding: 0 0 1em 0;
|
|
}
|
|
.message .sent_time {
|
|
font-weight:bold;
|
|
}
|
|
.message .username {
|
|
font-weight:bold;
|
|
}
|
|
.message .email {
|
|
font-weight: bold;
|
|
}
|
|
</style>
|
|
|
|
<h1>Mattermost Compliance Export</h1>
|
|
|
|
<h2>Conversation Summary</h2>
|
|
<div class="summary-list">
|
|
<ul>
|
|
<li><span class="bold">TeamId:</span>{{.Props.TeamId}}</li>
|
|
<li><span class="bold">TeamName:</span>{{.Props.TeamName}}</li>
|
|
<li><span class="bold">TeamDisplayName:</span>{{.Props.TeamDisplayName}}</li>
|
|
<li><span class="bold">ChannelId:</span>{{.Props.ChannelId}}</li>
|
|
<li><span class="bold">ChannelName:</span>{{.Props.ChannelName}}</li>
|
|
<li><span class="bold">ChannelDisplayName:</span>{{.Props.ChannelDisplayName}}</li>
|
|
<li><span class="bold">Started:</span>{{.Props.Started}}</li>
|
|
<li><span class="bold">Ended:</span>{{.Props.Ended}}</li>
|
|
<li><span class="bold">Duration:</span>{{.Props.Duration}}</li>
|
|
</ul>
|
|
</div>
|
|
<table class="participants">
|
|
<tr>
|
|
<th class="userid">UserId<br></th>
|
|
<th class="username">Username<br></th>
|
|
<th class="usertype">UserType<br></th>
|
|
<th class="email">Email</th>
|
|
<th class="joined">Joined</th>
|
|
<th class="left">Left</th>
|
|
<th class="duration">Duration</th>
|
|
<th class="messages">Messages</th>
|
|
</tr>
|
|
{{.Props.ParticipantRows}}
|
|
</table>
|
|
|
|
<h2>Messages</h2>
|
|
<div class="message-list">
|
|
<ul>
|
|
{{.Props.Messages}}
|
|
</ul>
|
|
</div>
|
|
|
|
<p>Exported on {{.Props.ExportDate}}</p>
|
|
{{end}}
|