Unify service accounts to one kind, add manager field, make homeDirectory/loginShell editable
Removes the LDAP bind-only service account type in favor of a single Unix/POSIX account model, surfaced in a new Users > Service Accounts tab. Adds a multi-valued `manager` field to every account (defaults to the creator, editable, and grants edit rights on the accounts a person manages without needing app_sso_admin). homeDirectory and loginShell are now editable from the profile edit form. Bumps to v1.1.7. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KDEx8ghuZR61pqPXc6da9C
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
// data.photo = unescape(encodeURIComponent(data.jpegPhoto));
|
||||
user.createTimestamp = moment(user.createTimestamp, "YYYYMMDDHHmmssZ").fromNow();
|
||||
user.modifyTimestamp = moment(user.modifyTimestamp, "YYYYMMDDHHmmssZ").fromNow();
|
||||
user.managerUids = (user.manager || []).map(app.user.dnToUid);
|
||||
|
||||
$.scope.user.update(user);
|
||||
$.scope.passwordReset.update(user);
|
||||
@@ -42,8 +43,15 @@
|
||||
$.scope.editProfile.update(user);
|
||||
// jq-repeat's update() is trailing-edge throttled (~50ms) as of 2.1.0 --
|
||||
// wait for the throttle tick to land before sliding the updated card
|
||||
// into view, or it can briefly show stale/empty data.
|
||||
// into view, or it can briefly show stale/empty data. The manager
|
||||
// picker is a JS widget, not a mustache-bound input, so it also has to
|
||||
// wait for update() to (re-)render its empty mount div before attaching.
|
||||
setTimeout(function(){
|
||||
app.ui.userSelect('#edit-manager', {
|
||||
name: 'manager',
|
||||
values: user.managerUids || [],
|
||||
placeholder: 'Type a username…',
|
||||
});
|
||||
$profileCard.slideUp();
|
||||
$editCard.slideDown();
|
||||
}, 60);
|
||||
@@ -161,6 +169,9 @@
|
||||
<i>LDAP DN:</i> <b>{{dn}} </b><br />
|
||||
<i>Home Directory:</i> <b>{{homeDirectory}} </b><br />
|
||||
<i>Login Shell:</i> <b>{{loginShell}} </b><br />
|
||||
<i>Manager(s):</i>
|
||||
{{#managerUids}}<span class="badge bg-secondary me-1">{{.}}</span>{{/managerUids}}
|
||||
<br />
|
||||
<i>Status:</i>
|
||||
{{#isActive}}<span class="badge bg-success">Active</span>{{/isActive}}
|
||||
{{#isInactive}}<span class="badge bg-danger">Inactive</span>{{/isInactive}}
|
||||
@@ -238,6 +249,18 @@
|
||||
<label class="form-label">Mobile Phone</label>
|
||||
<input type="text" class="form-control" name="mobile" placeholder="9175551234" validate=":9" value="{{mobile}}" />
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Home Directory</label>
|
||||
<input type="text" class="form-control" name="homeDirectory" placeholder="/home/jsmith" value="{{homeDirectory}}" />
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Login Shell</label>
|
||||
<input type="text" class="form-control" name="loginShell" placeholder="/bin/bash" value="{{loginShell}}" />
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Manager(s)</label>
|
||||
<div id="edit-manager"></div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">User Description (Optional)</label>
|
||||
<textarea class="form-control" name="description" placeholder="Admin group for gitea app">{{description}}</textarea>
|
||||
|
||||
Reference in New Issue
Block a user