root/admin/users/edit_user.tt
[%- IF user.id;
meta.title = 'Edit User';
ELSE;
meta.title = 'Add User';
END;
-%]
<script type="text/javascript">
function changeSrc() {
document.getElementById('user_profile_pic').src="[% c.uri_for( '/static/images/1x1.gif' ) %]";
}
</script>
<form id="edit_user" method="post" enctype="multipart/form-data" action="[% c.uri_for( '/admin/users/save' ) %]">
<p>
<label for="username">
Username
</label>
[%- IF user.id %]
<br><input type="text" class="textlong" id="username" name="username" size="50" maxlength="50" value="[% user.username %]" disabled="disabled">
<span class="small">
<a class="action" href="[% c.uri_for( '/user', user.username ) %]">View profile</a>
</span>
[%- ELSE %]
<br><input type="text" class="textlong" id="username" name="username" size="50" maxlength="50">
[%- END %]
</p>
[%- UNLESS user.id %]
<p>
<label for="password">
Password
</label>
<br><input type="password" class="textlong" id="password" name="password" size="50" maxlength="200">
</p>
[%- END %]
<p>
<label for="email">
Real Email (private - must be a valid email address)
</label>
<br><input type="text" class="textlong" id="email" name="email" value="[% user.email | html %]" size="50" maxlength="200">
</p>
<p>
<label for="display_email">
Display email (public - can be spam-trapped or left blank)
</label>
<br><input type="text" class="textlong" id="display_email" name="display_email" value="[% user.display_email | html %]" size="50" maxlength="200">
</p>
<p>
<label for="profile_pic">
Profile picture
</label>
<br><input type="file" id="profile_pic" name="profile_pic" onChange="javascript:changeSrc()">
</p>
<p>
<img id="user_profile_pic"
[%- IF user.profile_pic -%]
src="[% c.uri_for( '/static/cms-uploads/user-profile-pics', user.username, user.profile_pic ) %]"
class="outlined"
alt="Picture of [% user.display_name || user.username | html %]">
[%- ELSE -%]
src="[% c.uri_for( '/static', 'images', '1x1.gif' ) %]" alt="">
[%- END %]
</p>
<p>
<label for="display_name">
Display name (displayed on user's posts and comments)
</label>
<br><input type="text" class="textshort" id="display_name" name="display_name" value="[% user.display_name | html %]" size="50">
</p>
<p>
<label for="website">
Website (displayed on user's profile)
</label>
<br><input type="text" class="textlong" id="website" name="website" value="[% user.website | url %]" size="200">
</p>
<p>
<label for="location">
Location (displayed on user's profile)
</label>
<br><input type="text" class="textshort" id="location" name="location" value="[% user.location | html %]" size="100">
</p>
<p>
<label for="postcode">
Postcode (creates Google Maps link on user's profile)
</label>
<br><input type="text" class="textshort" id="postcode" name="postcode" value="[% user.postcode | html %]" size="10">
</p>
<p>
<label for="bio">
Bio (displayed on user's profile)
</label>
<br><textarea columns="80" rows="5" name="bio">[% user.bio | html %]</textarea>
</p>
<p>
<label for="firstname">
First name
</label>
<br><input type="text" class="textshort" id="firstname" name="firstname" value="[% user.firstname | html %]" size="50">
</p>
<p>
<label for="firstname">
Surname
</label>
<br><input type="text" class="textshort" id="surname" name="surname" value="[% user.surname | html %]" size="50">
</p>
<p>
<label for="allow_comments">Allow profile comments (disabling this will delete any existing comments)</label>
<br><input type="checkbox" id="allow_comments" name="allow_comments" [% 'checked="checked"' IF user.discussion OR ( comments_default_on AND NOT user.id ) %]>
</p>
<p>
<label for="active">
Active (uncheck to disable user account)
</label>
<br><input type="checkbox" name="active" value="1"[% IF user.active == 1 %]checked="checked"[% END %]>
</p>
<p>
<span class="label">Roles</span>
[%- FOREACH role IN roles %]
<br><label for="role_[% role.id %]"><input id="role_[% role.id %]" name="role_[% role.id %]" type="checkbox"[% IF user.has_role(role.role) %] checked="checked"[% END %]> [% role.role | html %]</label>
[%- END %]
</p>
<p>
<div style="float: left; width: 150px;">
<span class="label">Access Group</span>
</div>
<div style="float: left; width: 200px;">
<span class="label">Access Expiry Date and Time</span>
</div>
<div style="clear: both;"></div>
[%- FOREACH group IN access_groups %]
<div style="float: left; width: 150px;">
<label for="group_[% group.id %]">[% group.access | html %][% IF user.access_expires(group.access) AND user.access_expires(group.access) != 'never' AND user.access_expires(group.access) < now %] <span style="color: #dd0000;">(expired)</span>[% END %]</label>
</div>
<div style="float: left; width: 400px;">
[%- expires = user.access_expires(group.access) %]
[%- IF expires == 'never' OR NOT expires %]
<input id="group_[% group.id %]" name="date_group_[% group.id %]" type="text" value="[% expires %]" class="textveryshort">
<input id="group_[% group.id %]" name="time_group_[% group.id %]" type="text" value="" class="textveryshort">
[%- ELSE %]
<input id="group_[% group.id %]" name="date_group_[% group.id %]" type="text" value="[% expires.ymd %]" class="textveryshort">
<input id="group_[% group.id %]" name="time_group_[% group.id %]" type="text" value="[% expires.time %]" class="textveryshort">
[%- END %]
</div>
[%- END %]
<div style="clear: both;"></div>
</p>
<p>
<label for="admin_notes">
Admin notes
</label>
<br><textarea name="admin_notes">[% user.admin_notes | html %]</textarea>
</p>
<p>
<input name="user_id" type="hidden" value="[% user.id %]">
<input name="submit" type="submit" value="Save">
<input name="reset" type="reset" value="Reset">
[%- IF user.id %]
<input name="delete" type="submit" value="Delete" onclick="javascript:return confirm('Are you sure you want to delete this user?')">
[%- END %]
</p>
</form>