74 lines
3.5 KiB
PHP
74 lines
3.5 KiB
PHP
<?= $this->extend('layouts/main') ?>
|
|
|
|
<?= $this->section('content') ?>
|
|
<header class="cb-page-header cb-page-header--center">
|
|
<div>
|
|
<h1 class="cb-page-title">Workspace Members</h1>
|
|
<p class="cb-page-subtitle mb-0">Roles and access for people in this workspace.</p>
|
|
</div>
|
|
<div class="d-flex flex-wrap gap-2 justify-content-end">
|
|
<a class="btn cb-settings-back" href="<?= base_url('workspace/settings/' . $workspaceId) ?>">Settings</a>
|
|
<a class="btn cb-page-primary-btn text-nowrap" href="<?= base_url('workspace/invite/' . $workspaceId) ?>">+ Invite Member</a>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="cb-page-body">
|
|
<?php if (session()->getFlashdata('success')): ?>
|
|
<div class="alert alert-success"><?= esc(session()->getFlashdata('success')) ?></div>
|
|
<?php endif; ?>
|
|
<?php if (session()->getFlashdata('error')): ?>
|
|
<div class="alert alert-danger"><?= esc(session()->getFlashdata('error')) ?></div>
|
|
<?php endif; ?>
|
|
|
|
<div class="cb-table-shell">
|
|
<div class="table-responsive">
|
|
<table class="table cb-data-table align-middle">
|
|
<thead>
|
|
<tr>
|
|
<th>Name</th>
|
|
<th>Email</th>
|
|
<th>Role</th>
|
|
<th class="text-end">Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php if ($members === []): ?>
|
|
<tr>
|
|
<td colspan="4" class="text-center text-muted py-5">No members yet. Invite someone to collaborate.</td>
|
|
</tr>
|
|
<?php endif; ?>
|
|
|
|
<?php foreach ($members as $member): ?>
|
|
<tr>
|
|
<td>
|
|
<div class="cb-cell-name"><?= esc($member['name']) ?></div>
|
|
</td>
|
|
<td class="text-muted small"><?= esc($member['email']) ?></td>
|
|
<td class="cb-table-cell--inline-form">
|
|
<form class="cb-member-role-form" method="post" action="<?= base_url('workspace/members/' . $workspaceId . '/role/' . $member['id']) ?>">
|
|
<?= csrf_field() ?>
|
|
<select name="role" class="form-select" aria-label="Role for <?= esc($member['name'], 'attr') ?>">
|
|
<option value="admin" <?= $member['role'] === 'admin' ? 'selected' : '' ?>>Admin</option>
|
|
<option value="editor" <?= $member['role'] === 'editor' ? 'selected' : '' ?>>Editor</option>
|
|
<option value="viewer" <?= $member['role'] === 'viewer' ? 'selected' : '' ?>>Viewer</option>
|
|
</select>
|
|
<button type="submit" class="cb-action-btn cb-action-btn--edit">Update</button>
|
|
</form>
|
|
</td>
|
|
<td class="text-end">
|
|
<div class="cb-table-actions">
|
|
<form method="post" action="<?= base_url('workspace/members/' . $workspaceId . '/remove/' . $member['id']) ?>" class="d-inline" onsubmit="return confirm('Remove member?');">
|
|
<?= csrf_field() ?>
|
|
<button type="submit" class="cb-action-btn cb-action-btn--delete">Remove</button>
|
|
</form>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?= $this->endSection() ?>
|