diff options
Diffstat (limited to 'ipa-server/ipa-gui')
-rw-r--r-- | ipa-server/ipa-gui/ipagui/controllers.py | 14 | ||||
-rw-r--r-- | ipa-server/ipa-gui/ipagui/templates/usershow.kid | 15 |
2 files changed, 28 insertions, 1 deletions
diff --git a/ipa-server/ipa-gui/ipagui/controllers.py b/ipa-server/ipa-gui/ipagui/controllers.py index 11ce48a7..14213461 100644 --- a/ipa-server/ipa-gui/ipagui/controllers.py +++ b/ipa-server/ipa-gui/ipagui/controllers.py @@ -252,8 +252,20 @@ class Root(controllers.RootController): try: user = client.get_user_by_uid(uid, user_fields) user_groups = client.get_groups_by_member(user.dn, ['cn']) + user_reports = client.get_users_by_manager(user.dn, + ['givenname', 'sn', 'uid']) + + user_manager = None + try: + if user.manager: + user_manager = client.get_user_by_dn(user.manager, + ['givenname', 'sn', 'uid']) + except ipaerror.exception_for(ipaerror.LDAP_NOT_FOUND): + pass + return dict(user=user.toDict(), fields=forms.user.UserFields(), - user_groups=user_groups) + user_groups=user_groups, user_reports=user_reports, + user_manager=user_manager) except ipaerror.IPAError, e: turbogears.flash("User show failed: " + str(e)) raise turbogears.redirect("/") diff --git a/ipa-server/ipa-gui/ipagui/templates/usershow.kid b/ipa-server/ipa-gui/ipagui/templates/usershow.kid index 5092a427..a71f683d 100644 --- a/ipa-server/ipa-gui/ipagui/templates/usershow.kid +++ b/ipa-server/ipa-gui/ipagui/templates/usershow.kid @@ -78,6 +78,15 @@ else: </th> <td>${user.get("telephonenumber")}</td> </tr> + <tr py:if='user_manager'> + <th> + Manager: + </th> + <td> + <a href="${tg.url('/usershow', uid=user_manager.uid)}" + >${user_manager.givenname} ${user_manager.sn}</a> + </td> + </tr> </table> <div class="formsection">Account Status</div> @@ -90,6 +99,12 @@ else: </tr> </table> + <div class="formsection" py:if='len(user_reports) > 0'>Direct Reports</div> + <div py:for="report in user_reports"> + <a href="${tg.url('/usershow', uid=report.uid)}" + >${report.givenname} ${report.sn}</a> + </div> + <div class="formsection">Groups</div> <div py:for="group in user_groups"> <a href="${tg.url('/groupshow', cn=group.cn)}">${group.cn}</a> |