FossilRepo

fossilrepo / templates / organization / partials / member_table.html
Source Blame History 50 lines
4ce269c… ragelink 1 <div id="member-table">
313537c… ragelink 2 <div class="overflow-x-auto rounded-lg border border-gray-700 bg-gray-800 shadow-sm">
4ce269c… ragelink 3 <table class="min-w-full divide-y divide-gray-700">
2f13242… ragelink 4 <thead class="bg-gray-900/80">
4ce269c… ragelink 5 <tr>
2f13242… ragelink 6 <th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-400">Username</th>
2f13242… ragelink 7 <th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-400">Email</th>
2f13242… ragelink 8 <th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-400">Role</th>
2f13242… ragelink 9 <th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-400">Status</th>
2f13242… ragelink 10 <th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-400">Joined</th>
2f13242… ragelink 11 <th class="px-6 py-3 text-right text-xs font-medium uppercase tracking-wider text-gray-400">Actions</th>
4ce269c… ragelink 12 </tr>
4ce269c… ragelink 13 </thead>
2f13242… ragelink 14 <tbody class="divide-y divide-gray-700/70 bg-gray-800">
4ce269c… ragelink 15 {% for membership in members %}
2f13242… ragelink 16 <tr class="hover:bg-gray-700/40 transition-colors">
c588255… ragelink 17 <td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
c588255… ragelink 18 <a href="{% url 'organization:user_detail' username=membership.member.username %}" class="text-brand-light hover:text-brand">{{ membership.member.username }}</a>
4ce269c… ragelink 19 </td>
4ce269c… ragelink 20 <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-400">{{ membership.member.email|default:"—" }}</td>
c588255… ragelink 21 <td class="px-6 py-4 whitespace-nowrap text-sm">
c588255… ragelink 22 {% if membership.role %}
c588255… ragelink 23 <a href="{% url 'organization:role_detail' slug=membership.role.slug %}" class="inline-flex rounded-full bg-purple-900/50 px-2 text-xs font-semibold leading-5 text-purple-300 hover:text-purple-200">{{ membership.role.name }}</a>
c588255… ragelink 24 {% else %}
c588255… ragelink 25 <span class="text-gray-500">--</span>
c588255… ragelink 26 {% endif %}
c588255… ragelink 27 </td>
4ce269c… ragelink 28 <td class="px-6 py-4 whitespace-nowrap">
4ce269c… ragelink 29 {% if membership.is_active %}
4ce269c… ragelink 30 <span class="inline-flex rounded-full bg-green-900/50 px-2 text-xs font-semibold leading-5 text-green-300">Active</span>
4ce269c… ragelink 31 {% else %}
4ce269c… ragelink 32 <span class="inline-flex rounded-full bg-gray-700 px-2 text-xs font-semibold leading-5 text-gray-300">Inactive</span>
4ce269c… ragelink 33 {% endif %}
4ce269c… ragelink 34 </td>
4ce269c… ragelink 35 <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-400">{{ membership.created_at|date:"N j, Y" }}</td>
4ce269c… ragelink 36 <td class="px-6 py-4 whitespace-nowrap text-right text-sm">
4ce269c… ragelink 37 {% if perms.organization.delete_organizationmember %}
4ce269c… ragelink 38 <a href="{% url 'organization:member_remove' username=membership.member.username %}" class="text-red-400 hover:text-red-300">Remove</a>
4ce269c… ragelink 39 {% endif %}
4ce269c… ragelink 40 </td>
4ce269c… ragelink 41 </tr>
4ce269c… ragelink 42 {% empty %}
4ce269c… ragelink 43 <tr>
c588255… ragelink 44 <td colspan="6" class="px-6 py-8 text-center text-sm text-gray-400">No members found.</td>
4ce269c… ragelink 45 </tr>
4ce269c… ragelink 46 {% endfor %}
4ce269c… ragelink 47 </tbody>
4ce269c… ragelink 48 </table>
4ce269c… ragelink 49 </div>
4ce269c… ragelink 50 </div>

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button