summaryrefslogtreecommitdiffstats
path: root/ipa-server/ipa-gui/ipagui/templates
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-server/ipa-gui/ipagui/templates')
-rw-r--r--ipa-server/ipa-gui/ipagui/templates/master.kid47
-rw-r--r--ipa-server/ipa-gui/ipagui/templates/useredit.kid18
-rw-r--r--ipa-server/ipa-gui/ipagui/templates/usereditform.kid23
-rw-r--r--ipa-server/ipa-gui/ipagui/templates/userlist.kid14
-rw-r--r--ipa-server/ipa-gui/ipagui/templates/usernewform.kid32
-rw-r--r--ipa-server/ipa-gui/ipagui/templates/usershow.kid20
6 files changed, 126 insertions, 28 deletions
diff --git a/ipa-server/ipa-gui/ipagui/templates/master.kid b/ipa-server/ipa-gui/ipagui/templates/master.kid
index 2f39afc4..3be1f4c0 100644
--- a/ipa-server/ipa-gui/ipagui/templates/master.kid
+++ b/ipa-server/ipa-gui/ipagui/templates/master.kid
@@ -24,35 +24,66 @@
</span>
</div>
- <div id="page">
- <div id="header">
+ <div id="header">
+ <div id="logo">
<a href="${tg.url('/')}"><img
- src="${tg.url('/static/images/logo.png')}"
- border="0"
- /></a>
+ src="${tg.url('/static/images/logo.png')}"
+ border="0"
+ /></a>
+ </div>
+ <div id="headerinfo">
+ <div id="login">
+ Logged in as: ace
+ </div>
+ <div id="topsearch">
+ <form action="${tg.url('/topsearch')}" method="post">
+ <select name="searchtype">
+ <option>Users</option>
+ <option>Groups</option>
+ </select>
+ <input class="searchtext" id="topsearchbox" type="text"
+ name="searchvalue"
+ value="Type search terms here."
+ onfocus="clearsearch()" />
+ <input type="submit" value="Search"/>
+ </form>
+ <script type="text/javascript">
+ function clearsearch() {
+ topsearchbox = document.getElementById('topsearchbox');
+ topsearchbox.onfocus = null;
+ topsearchbox.value = "";
+ }
+ </script>
+ </div>
</div>
+ </div>
+ <div id="page">
<div id="nav"><!--
This used to have links. Keeping around in case we move them back...
--></div>
<div id="sidebar">
<h2>Tasks</h2>
+ <p>
<a href="${tg.url('/usernew')}">Add Person</a><br/>
<a href="${tg.url('/userlist')}">Find People</a><br/>
- <br />
+ </p>
+ <p>
<a href="${tg.url('/groupindex')}">Add Group</a><br/>
<a href="${tg.url('/groupindex')}">Find Groups</a><br/>
- <br />
+ </p>
+ <p>
<a href="${tg.url('/')}">Manage Policy</a><br/>
<a href="${tg.url('/')}">Self Service</a><br/>
+ </p>
</div>
<div py:replace="[item.text]+item[:]"></div>
<div id="footer">
- <a href="http://www.freeipa.com/">Powered by FreeIPA</a>
+ <a href="http://www.freeipa.com/" target="_blank">Powered by FreeIPA</a>
</div>
</div>
diff --git a/ipa-server/ipa-gui/ipagui/templates/useredit.kid b/ipa-server/ipa-gui/ipagui/templates/useredit.kid
index db47ab29..1f31139d 100644
--- a/ipa-server/ipa-gui/ipagui/templates/useredit.kid
+++ b/ipa-server/ipa-gui/ipagui/templates/useredit.kid
@@ -8,6 +8,24 @@
<body>
<h2>Edit Person</h2>
+<?python
+from ipagui.helpers import userhelper
+pw_expires_days = userhelper.password_expires_in(user.get("krbPasswordExpiration"))
+pw_expires_soon = userhelper.password_expires_soon(pw_expires_days)
+pw_is_expired = userhelper.password_is_expired(pw_expires_days)
+if pw_expires_days != 1:
+ days_suffix = "s"
+else:
+ days_suffix = ""
+?>
+
+ <div py:if='pw_expires_soon' class="warning_message">
+ Password will expire in ${pw_expires_days} day${days_suffix}
+ </div>
+ <div py:if='pw_is_expired' class="warning_message">
+ Password has expired
+ </div>
+
${form.display(action="userupdate", value=user)}
</body>
</html>
diff --git a/ipa-server/ipa-gui/ipagui/templates/usereditform.kid b/ipa-server/ipa-gui/ipagui/templates/usereditform.kid
index dc61f38c..6227c444 100644
--- a/ipa-server/ipa-gui/ipagui/templates/usereditform.kid
+++ b/ipa-server/ipa-gui/ipagui/templates/usereditform.kid
@@ -56,8 +56,9 @@
<span py:replace="user.userpassword.display(value_for(user.userpassword))" />
<span py:if="tg.errors.get('userpassword')" class="fielderror"
py:content="tg.errors.get('userpassword')" />
- <span id="password_text">********</span>
+ <!--
+ <span id="password_text">********</span>
<input id="genpassword_button" type="button" value="Generate Password"
disabled="true"
onclick="new Ajax.Request('${tg.url('/generate_password')}',
@@ -89,6 +90,20 @@
}
}
</script>
+ -->
+ </td>
+ </tr>
+
+ <tr>
+ <th valign="top">
+ <label class="fieldlabel" for="${user.userpassword_confirm.field_id}"
+ py:content="user.userpassword_confirm.label" />:
+ </th>
+ <td valign="top">
+ <span py:replace="user.userpassword_confirm.display(
+ value_for(user.userpassword_confirm))" />
+ <span py:if="tg.errors.get('userpassword_confirm')" class="fielderror"
+ py:content="tg.errors.get('userpassword_confirm')" />
</td>
</tr>
@@ -158,11 +173,13 @@
<tr>
<th>
<br />
- <input type="submit" class="submitbutton" name="submit" value="Submit"/>
+ <input type="submit" class="submitbutton" name="submit"
+ value="Update Person"/>
</th>
<td>
<br />
- <input type="submit" class="submitbutton" name="submit" value="Cancel" />
+ <input type="submit" class="submitbutton" name="submit"
+ value="Cancel Edit" />
</td>
<td></td>
</tr>
diff --git a/ipa-server/ipa-gui/ipagui/templates/userlist.kid b/ipa-server/ipa-gui/ipagui/templates/userlist.kid
index de4c4eb2..1f3e72b0 100644
--- a/ipa-server/ipa-gui/ipagui/templates/userlist.kid
+++ b/ipa-server/ipa-gui/ipagui/templates/userlist.kid
@@ -6,20 +6,18 @@
<title>Find People</title>
</head>
<body>
- <h2>Find People</h2>
<div id="search">
<form action="${tg.url('/userlist')}" method="post">
- Search:
<input id="uid" type="text" name="uid" value="${uid}" />
- <input type="submit" />
+ <input type="submit" value="Find People"/>
</form>
<script type="text/javascript">
document.getElementById("uid").focus();
</script>
</div>
- <div py:if='users != None'>
+ <div py:if='(users != None) and (len(users) > 0)'>
<h2>${len(users)} results returned:</h2>
- <table id="resultstable" py:if='len(users) > 0'>
+ <table id="resultstable">
<tr>
<th>
<label class="fieldlabel" py:content="fields.uid.label" />
@@ -61,9 +59,9 @@
</td>
</tr>
</table>
- <div py:if='len(users) == 0'>
- No results found.
- </div>
+ </div>
+ <div py:if='(users != None) and (len(users) == 0)'>
+ <h2>No results found for "${uid}"</h2>
</div>
</body>
</html>
diff --git a/ipa-server/ipa-gui/ipagui/templates/usernewform.kid b/ipa-server/ipa-gui/ipagui/templates/usernewform.kid
index d4863a3d..daf13143 100644
--- a/ipa-server/ipa-gui/ipagui/templates/usernewform.kid
+++ b/ipa-server/ipa-gui/ipagui/templates/usernewform.kid
@@ -27,6 +27,9 @@
<span py:if="tg.errors.get('sn')" class="fielderror"
py:content="tg.errors.get('sn')" />
<script type="text/javascript">
+ var uid_suggest = ""
+ var mail_suggest = ""
+
function autofill(self) {
givenname = document.getElementById('form_givenname');
sn = document.getElementById('form_sn');
@@ -35,22 +38,24 @@
}
uid = document.getElementById('form_uid');
mail = document.getElementById('form_mail');
- if (uid.value == "") {
+ if ((uid.value == "") || (uid.value == uid_suggest)) {
new Ajax.Request('${tg.url('/suggest_uid')}', {
method: 'get',
parameters: {'givenname': givenname.value, 'sn': sn.value},
onSuccess: function(transport) {
uid.value = transport.responseText;
+ uid_suggest = uid.value;
new Effect.Highlight(uid);
}
});
}
- if (mail.value == "") {
+ if ((mail.value == "") || (mail.value == mail_suggest)) {
new Ajax.Request('${tg.url('/suggest_email')}', {
method: 'get',
parameters: {'givenname': givenname.value, 'sn': sn.value},
onSuccess: function(transport) {
mail.value = transport.responseText;
+ mail_suggest = mail.value;
new Effect.Highlight(mail);
}
});
@@ -87,6 +92,7 @@
<span py:if="tg.errors.get('userpassword')" class="fielderror"
py:content="tg.errors.get('userpassword')" />
+ <!--
<input type="button" value="Generate Password"
onclick="new Ajax.Request('${tg.url('/generate_password')}',
{
@@ -96,6 +102,20 @@
transport.responseText;
}
});" />
+ -->
+ </td>
+ </tr>
+
+ <tr>
+ <th>
+ <label class="fieldlabel" for="${user.userpassword_confirm.field_id}"
+ py:content="user.userpassword_confirm.label" />:
+ </th>
+ <td>
+ <span py:replace="user.userpassword_confirm.display(
+ value_for(user.userpassword_confirm))" />
+ <span py:if="tg.errors.get('userpassword_confirm')" class="fielderror"
+ py:content="tg.errors.get('userpassword_confirm')" />
</td>
</tr>
@@ -167,15 +187,11 @@
<table class="formtable" cellpadding="2" cellspacing="0" border="0">
<tr>
- <th>
- <br />
- <input type="submit" class="submitbutton" name="submit" value="Submit"/>
- </th>
+ <th></th>
<td>
<br />
- <input type="submit" class="submitbutton" name="submit" value="Cancel" />
+ <input type="submit" class="submitbutton" name="submit" value="Add Person"/>
</td>
- <td></td>
</tr>
</table>
diff --git a/ipa-server/ipa-gui/ipagui/templates/usershow.kid b/ipa-server/ipa-gui/ipagui/templates/usershow.kid
index 4e73eba3..aff400c5 100644
--- a/ipa-server/ipa-gui/ipagui/templates/usershow.kid
+++ b/ipa-server/ipa-gui/ipagui/templates/usershow.kid
@@ -8,6 +8,24 @@
<body>
<h2>View Person</h2>
+<?python
+from ipagui.helpers import userhelper
+pw_expires_days = userhelper.password_expires_in(user.get("krbPasswordExpiration"))
+pw_expires_soon = userhelper.password_expires_soon(pw_expires_days)
+pw_is_expired = userhelper.password_is_expired(pw_expires_days)
+if pw_expires_days != 1:
+ days_suffix = "s"
+else:
+ days_suffix = ""
+?>
+
+ <div py:if='pw_expires_soon' class="warning_message">
+ Password will expire in ${pw_expires_days} day${days_suffix}
+ </div>
+ <div py:if='pw_is_expired' class="warning_message">
+ Password has expired
+ </div>
+
<div class="formsection">Identity Details</div>
<table class="formtable" cellpadding="2" cellspacing="0" border="0">
<tr>
@@ -68,7 +86,7 @@
<th>
<label class="fieldlabel" py:content="fields.nsAccountLock.label" />:
</th>
- <td>${user.get("nsAccountLock")}</td>
+ <td>${userhelper.account_status_display(user.get("nsAccountLock"))}</td>
</tr>
</table>