Group Memberships

This page uses a Hashtag List to show all Group Membership records.   Membership records relate to Group and Member records using group_id and member_id values.   The Must Relate directive filters out records without a relation.   The table is styled using Bootstrap 3 default theme classes.  

No Group Memberships




Processed this Hashtag Markup:
<# if "<#[url.member_id]#>"!="" #>
<div class="alert alert-success">
	Filtering by Member ID: 
	<a href="form?edit=<#[url.member_id as html]#>">
		<strong class="left-pad small"><#[url.member_id as html]#></strong>
	</a> — <a href="?">Clear Filter</a>
</div>
<# end if #>

<# if "<#[url.group_id]#>"!="" #>
<div class="alert alert-success">
	Filtering by Group ID: 
	<a href="group?edit=<#[url.group_id as html]#>">
		<strong class="left-pad small"><#[url.group_id as html]#></strong>
	</a> — <a href="?">Clear Filter</a>
</div>
<# end if #>

<# start list for group_memberships;
	include when member_id is "<#[url.member_id]#>" if set;
	include when group_id is "<#[url.group_id]#>" if set;
	must relate member_id to members.id;
	must relate group_id to groups.id;
	sort by members.username, groups.name;
	show 10 rows per page;
#>

<# start header #>
<table class="table table-striped table-condensed table-hover">
	<thead>
	<tr>
		<th>Member</th>
		<th>Group</th>
		<th>Action</th>
	</tr>
	</thead>
<# end header #>

<# start row #>
	<tr>
		<td><a href="?member_id=<# member_id as html #>"><# members.username as html #></a></td>
		<td><a href="?group_id=<# group_id as html #>"><# groups.name as html #></a></td>
		<td><a href="delete-group-membership?id=<# id #>&index=<#[url.index as html]#>" 
				onclick="return confirm('Confirm Delete Membership?')" 
				class="label label-primary label-action">Delete Membership</a>
		</td>
	</tr>
<# end row #>

<# start footer #>
</table>
<# end footer #>

<# no results #>
<h4 class="alert alert-warning text-center">No Group Memberships</h4>
<# end no results #>

<# end list #>

Hashtag Markup for Delete Action: /members/delete-group-membership
<# delete record for "group_memberships.<#[url.id]#>"; 
	redirect to "/members/group-memberships?index=<#[url.index]#>";
#>

The Members Mini-App uses the Hashtag Markup Language to demonstrate a user authentication process for #WebApps.

Member, Group, and Group Membership records are all stored in an SQL Database.   Methods are provided to create, update, and delete all of these records.  

Members Only pages restrict access based on group membership.