diff options
Diffstat (limited to 'ipa-server/ipa-gui/ipagui')
33 files changed, 473 insertions, 411 deletions
diff --git a/ipa-server/ipa-gui/ipagui/static/css/style.css b/ipa-server/ipa-gui/ipagui/static/css/style.css index 2515a4bb6..80fdba855 100644 --- a/ipa-server/ipa-gui/ipagui/static/css/style.css +++ b/ipa-server/ipa-gui/ipagui/static/css/style.css @@ -1,272 +1,381 @@ -/* - * Quick mash-up of CSS for the TG quick start page. - */ +* +{ + margin: 0; + padding: 0; +} html, body { - color: #000; - background:#fff; - margin: 0; - padding: 0; - font-family: sans-serif; + height: 100%; } body { - min-width: 750px; + background-image: url('/static/images/template/background.png'); + background-repeat: repeat-x; + background-color: #f9f9f9; + margin: 0px; + padding: 0px; + padding-top: 8px; + min-width: 750px; } -#page { - background:#ccc; /* should be same as #sidebar */ - margin:0 auto; - width:100%; - clear:both; +body, h1, h2, h3, h4, h5, p, ul, li, div, span { + font-family: "Luxi Sans", "Gill Sans", "Verdana", "Helvetica", sans-serif; + font-size: small; + color: #444; } +#head { + margin: 0px; + padding: 0px; + padding-left: 12px; +} + +#head h1 a { + display: block; + text-indent: -9999px; + height: 54px; + width: 350px; + overflow: hidden; + float: left; -#header { - background:#fff; + background: url('/static/images/branding/logo.png') no-repeat; } -#header #logo { - float:left; +#searchbar { + float: right; + margin-right: 24px; + margin-top: 18px; } -#header #headerinfo { - text-align:right; - padding-right:10px; +#navbar { + width: 100%; + height: 64px; + margin: 0px; + clear: both; + + background-image: url('/static/images/template/background-navbar.png'); + background-repeat: repeat-x; + } -#header #headerinfo #login { +#navbar ul { + margin: 0px; + padding: 0px; + padding-left: 10px; + list-style: none; } -#header #headerinfo #topsearch { - padding-top: 15px; +#navbar li { + float: left; + margin: 0px; + padding: 0px; + + font-size: small; } -.searchtext { - background-color:#E5F1F4; - border:1px solid #8E8E8E; - color:#444444; +#navbar a { + display: block; + margin: 22px 15px; } +#navbar .active { + background-image: url('/static/images/template/background-navbar-active.png'); + height: 70px; + width: 116px; -#nav { - background:#cc0000; - color:#fff; - min-height:3px; - max-height:3px; + text-align: center; } -#nav ul { - margin:0; - padding:0; - list-style:none; +#login { + float: right; + padding-top: 15px; + padding-right: 10px; } -#nav li { - display:inline; +#content { + width: 100%; + min-height: 50%; + + background-color: #f9f9f9; + background-image: url('/static/images/template/background-content.png'); + background-repeat: repeat-x; } -#nav a:visited { - color:#fff; +#details { + height: 100%; + margin: 0px 24px; + margin-right: 300px; + padding: 18px 18px; + padding-bottom: 12%; + border-top: 1px solid #bbdc5f; + background-color: white; + text-align: left; } -#nav a:link { - color:#fff; + +#details p { + margin-top: 1ex; + margin-bottom: 1ex; } +#sidebar { + width: 250px; + text-align: left; + + padding: 18px 13px; + margin-right: 24px; + float: right; + height: 100%; -#main_content { - background:#fff; - float:right; - width:84%; - min-height:500px; - border-left: 1px solid #000; - padding: 10px; + border: 1px solid #aaa; + background-color: #ccc; + background-image: url('/static/images/template/background-sidebar.png'); + background-repeat: repeat-y; } -#main_content h1,h2 { - margin-top: 0px; - margin-bottom: 5px; +#sidebar h1, h2, h3 { + padding: 0px; + margin: 0px; } +#sidebar h2 { font-size: medium; } +#sidebar h3 { font-size: small; } -#sidebar { - background:#ccc; /* should be same as #page */ - float:left; - width:11%; - padding: 5px; - font-size: medium; +#sidebar ul { + padding: 0px; + margin: 0px; + list-style: none; + padding-bottom: 10px; } -#sidebar p { - line-height: 150%; +#sidebar ul, #sidebar li { + margin-bottom: 6px; + font-size: small; } -#sidebar h2 { - margin-top: 0; +#sidebar hr { + border-top: 1px solid #aaa; + border-bottom: 1px solid #ddd; + color: #ddd; + margin-top: 20px !important; + margin-bottom: 20px !important; } -#sidebar ul { - margin-left: 1.5em; - padding-left: 0; +input.text { + border: 1px solid #8e8e8e; + background-color: #e5f1f4; + color: #444444; } -#sidebar a:visited, -#sidebar a:link { - color:#000; +input.button { + } +#navbar-secondary li { + font-size: medium; +} -#footer { - background:#fff; - clear:both; - border-top: 1px solid #000; - padding-top: 10px; - text-align: center; - font-size: x-small; +#navbar-secondary .active a:link, +#navbar-secondary .active a:visited, +#navbar-secondary .active a:active, +#navbar-secondary .active a, +#navbar-secondary li +{ + color: #555 !important; + text-decoration: none; + font-weight: bold; } -#footer a:visited, -#footer a:link { - color:#777; - text-decoration: none; +#details * { + color: #444; } +#details p, +#details td, +#details li { + font-size: small; + color: #555; +} -.formsection { - color: #888888; - width: 90%; - font-weight: bold; - border-bottom: 1px solid; - margin: 20px 0px 20px 0px; +#details h1 { + color: #7d7d5b; + font-size: x-large; + height: 40px; +/* + * padding-left: 48px; +*/ + padding-top: 6px; + vertical-align: middle; } -.formtable { - width: 90%; +#details h1.user { + background-image: url('/static/images/objects/object-user.png'); + background-repeat: no-repeat; + margin-bottom: 18px; } -.formtable th { - width: 20%; - text-align: right; +#details h2, #details table caption, h2.formsection { + color: #999; + font-size: large; + font-weight: normal; + + border-bottom: 1px solid #999; + margin-bottom: 10px; + + text-align: left; + width: 100%; } -.floatlist { - float: right; - width: 50%; +h2.formsection { + margin-top: 12px; } -.floatheader { - color: #885555; - font-weight: bold; +#details h3, table.formtable th { + font-size: small; + color: black; } -.small { - font-size: small; +table.details { + margin-bottom: 18px; + width: 100%; } -.xsmall { - font-size: x-small; +#details table.details th { + font-size: small; + width: 150px; + padding: 4px 0px; + padding-right: 8px; + border-bottom: 1px dotted #ddd; } -#status_block { - margin: 0 auto 0.5em auto; - padding: 15px 10px 15px 55px; - background: #ecc; - border: 1px solid #c99; - width: 450px; - font-size: 120%; - font-weight: bolder; +#details table.details th.even { background-color: white; } +#details table.details th.odd { background-color: #eee; } + +#details table.details td { + padding-left: 8px; + padding-bottom: 3px; + border-bottom: 1px dotted #ddd; + width: 60%; } -.warning_message { - font-size: 120%; - color: #ee0000; - font-weight: bolder; +#details hr { + margin-top: 48px; + margin-bottom: 12px; + height: 1px; + border-color: #bbb; + border-width: 0pt 0pt 1px; + padding: 0.5em; + border-style: none none dashed; } -.fielderror { - color: red; - font-weight: bold; +input.submitbutton { + float: right; } -.requiredfield { - background: #eebbbb; +#alertbox { + width: 100%; + padding: 6px 0px; + margin-top: 12px; + margin-bottom: 18px; + vertical-align: middle; + + -moz-border-radius: 6px; + background-color: #6995d5; + color: white; } -#resultstable, -#resultstable th, -#resultstable td { - border-collapse: collapse; - border-style: solid; - border-width: 1px; - margin: 0px; - padding: 5px; +#alertbox h2 { + width: auto; + padding: 0px 16px; + float: left; + font-size: medium; + text-transform: uppercase; + color: white; + font-weight: bold; + border: none; } -#resultstable th { - background: #eee; +#alertbox p { + padding: 0px 0px; + text-align: center; + color: white; + width: auto; } -.deletebutton { +td, th { + text-align: left; } -/* - * Used for checkboxlist of aci attributes - */ -ul.requiredfield { - background: #ffffff; +#footer { + text-align: center; + margin-left: auto; + margin-right: auto; + width: 30%; + padding: 20px 20px; } -ul.checkboxlist { - padding: 0px; - margin: 0px; - list-style: none; +table.formtable { + width: 100%; } -/* - * TableKit css - */ +table.formtable th, table.formtable td { + vertical-align: top; + padding-bottom: 10px; +} -.sortcol { - cursor: pointer; - padding-right: 20px !important; - background-repeat: no-repeat !important; - background-position: right center !important; +table.formtable th { + width: 28%; } -.sortasc { - background-image: url(/static/images/up.gif) !important; + +table.formtable td { } -.sortdesc { - background-image: url(/static/images/down.gif) !important; + +input.submitbutton, input.searchbutton, #source_searcharea input.searchbutton { + border: 1px outset #aaa; + padding: 2px 1px; + margin-bottom: 2px; } -.nosort { - cursor: default; + +table.formtable td input[type="text"], input#criteria { + border: 1px inset #dcdcdc; + font-size: medium; + padding: 2px 1px; + background-color: #f5faff; } -th.resize-handle-active { - cursor: e-resize; +table.formtable td select { + border: 1px inset #dcdcdc; + font-size: small; + padding: 2px 1px; + background-color: #f5faff; } -div.resize-handle { - cursor: e-resize; - width: 2px; - border-right: 1px dashed #1E90FF; - position:absolute; - top:0; - left:0; +p.empty-message { + font-size: large; + font-style: italic; + color: #888 !important; } +div.instructions { + padding: 2px 6px; + margin-top: 16px; + border-top: 1px solid #c0d5f1; + border-bottom: 1px solid #c0d5f1; + background-color: #eef4fd; +} -/* - * Overrides for printing - */ -@media print { - #header { display:none; } - #nav { display:none; } - #sidebar { display:none; } - #footer { display:none; } - #main_content { width: 95%; margin:0; padding:0; border-left-style: none; } +div#search { + padding-top: 16px; + padding-bottom: 24px; +} - .submitbutton { display:none; } - .deletebutton { display:none; } +ul.checkboxlist li { + list-style: none; + margin: 8px 0px; } +ul.checkboxlist li input { + background-color: yellow; + height: 1.1em; + width: 1.2em; + border: 1px solid red; +} diff --git a/ipa-server/ipa-gui/ipagui/static/images/Makefile.am b/ipa-server/ipa-gui/ipagui/static/images/Makefile.am index 593cbe02f..d1f919848 100644 --- a/ipa-server/ipa-gui/ipagui/static/images/Makefile.am +++ b/ipa-server/ipa-gui/ipagui/static/images/Makefile.am @@ -1,5 +1,10 @@ NULL = +SUBDIRS = \ + branding \ + template \ + $(NULL) + appdir = $(IPA_DATA_DIR)/ipagui/static/images app_DATA = \ down.gif \ diff --git a/ipa-server/ipa-gui/ipagui/static/images/branding/Makefile.am b/ipa-server/ipa-gui/ipagui/static/images/branding/Makefile.am new file mode 100644 index 000000000..fcf2fdc11 --- /dev/null +++ b/ipa-server/ipa-gui/ipagui/static/images/branding/Makefile.am @@ -0,0 +1,14 @@ +NULL = + +appdir = $(IPA_DATA_DIR)/ipagui/static/images/branding +app_DATA = \ + logo.png \ + $(NULL) + +EXTRA_DIST = \ + $(app_DATA) \ + $(NULL) + +MAINTAINERCLEANFILES = \ + *~ \ + Makefile.in diff --git a/ipa-server/ipa-gui/ipagui/static/images/branding/logo.png b/ipa-server/ipa-gui/ipagui/static/images/branding/logo.png Binary files differnew file mode 100644 index 000000000..e966954b0 --- /dev/null +++ b/ipa-server/ipa-gui/ipagui/static/images/branding/logo.png diff --git a/ipa-server/ipa-gui/ipagui/static/images/template/Makefile.am b/ipa-server/ipa-gui/ipagui/static/images/template/Makefile.am new file mode 100644 index 000000000..dc769d846 --- /dev/null +++ b/ipa-server/ipa-gui/ipagui/static/images/template/Makefile.am @@ -0,0 +1,20 @@ +NULL = + +appdir = $(IPA_DATA_DIR)/ipagui/static/images/template +app_DATA = \ + background-content.png \ + background-navbar-active_fullsize.png \ + background-navbar-active.png \ + background-navbar_fullsize.png \ + background-navbar.png \ + background.png \ + background-sidebar.png \ + $(NULL) + +EXTRA_DIST = \ + $(app_DATA) \ + $(NULL) + +MAINTAINERCLEANFILES = \ + *~ \ + Makefile.in diff --git a/ipa-server/ipa-gui/ipagui/static/images/template/background-content.png b/ipa-server/ipa-gui/ipagui/static/images/template/background-content.png Binary files differnew file mode 100644 index 000000000..082f10ae1 --- /dev/null +++ b/ipa-server/ipa-gui/ipagui/static/images/template/background-content.png diff --git a/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar-active.png b/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar-active.png Binary files differnew file mode 100644 index 000000000..1b088501b --- /dev/null +++ b/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar-active.png diff --git a/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar-active_fullsize.png b/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar-active_fullsize.png Binary files differnew file mode 100644 index 000000000..756a1e61d --- /dev/null +++ b/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar-active_fullsize.png diff --git a/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar.png b/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar.png Binary files differnew file mode 100644 index 000000000..2c6a2de40 --- /dev/null +++ b/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar.png diff --git a/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar_fullsize.png b/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar_fullsize.png Binary files differnew file mode 100644 index 000000000..72a710634 --- /dev/null +++ b/ipa-server/ipa-gui/ipagui/static/images/template/background-navbar_fullsize.png diff --git a/ipa-server/ipa-gui/ipagui/static/images/template/background-sidebar.png b/ipa-server/ipa-gui/ipagui/static/images/template/background-sidebar.png Binary files differnew file mode 100644 index 000000000..4eaadbbce --- /dev/null +++ b/ipa-server/ipa-gui/ipagui/static/images/template/background-sidebar.png diff --git a/ipa-server/ipa-gui/ipagui/static/images/template/background.png b/ipa-server/ipa-gui/ipagui/static/images/template/background.png Binary files differnew file mode 100644 index 000000000..96ead97f3 --- /dev/null +++ b/ipa-server/ipa-gui/ipagui/static/images/template/background.png diff --git a/ipa-server/ipa-gui/ipagui/templates/delegateedit.kid b/ipa-server/ipa-gui/ipagui/templates/delegateedit.kid index 233d1a24e..5317280cb 100644 --- a/ipa-server/ipa-gui/ipagui/templates/delegateedit.kid +++ b/ipa-server/ipa-gui/ipagui/templates/delegateedit.kid @@ -7,7 +7,7 @@ </head> <body> - <h2>Edit Delegation</h2> + <h1>Edit Delegation</h1> ${form.display(action=tg.url("/delegate/update"), value=delegate, actionname='Update')} diff --git a/ipa-server/ipa-gui/ipagui/templates/delegateform.kid b/ipa-server/ipa-gui/ipagui/templates/delegateform.kid index 9a6a6b0f9..62cc710f0 100644 --- a/ipa-server/ipa-gui/ipagui/templates/delegateform.kid +++ b/ipa-server/ipa-gui/ipagui/templates/delegateform.kid @@ -59,33 +59,23 @@ <form action="${action}" name="${name}" method="${method}" class="tableform"> - <table class="formtable" cellpadding="2" cellspacing="0" border="0"> - <tr> - <th> <input type="submit" class="submitbutton" name="submit" value="${actionname} Delegation"/> - <br/><br/> - </th> - <td> <input type="submit" class="submitbutton" name="submit" value="Cancel ${actionname}"/> - <br/><br/> - </td> - <td py:if='actionname == "Update"'> - + <span py:if='actionname == "Update"'> <input type="button" class="deletebutton" value="Delete Delegation" onclick="return confirmDelete();" /> - <br/><br/> - </td> - </tr> - </table> + </span> <div py:for="field in hidden_fields" py:replace="field.display(value_for(field), **params_for(field))" /> +<h2>Delegation Details</h2> + <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th valign="top"> @@ -114,13 +104,11 @@ py:content="tg.errors.get('source_group_dn')" /> </div> <div id="source_searcharea" style="display:none"> - <div> <input id="source_criteria" type="text" onkeypress="return enterDoSearch(event, 'source');" /> - <input type="button" value="Find" + <input class="searchbutton" type="button" value="Find" onclick="return doSearch('source');" /> - </div> <div id="source_searchresults"> </div> </div> @@ -156,7 +144,7 @@ <div> <input id="dest_criteria" type="text" onkeypress="return enterDoSearch(event, 'dest');" /> - <input type="button" value="Find" + <input class="searchbutton" type="button" value="Find" onclick="return doSearch('dest');" /> </div> @@ -167,28 +155,18 @@ </tr> </table> - <table class="formtable" cellpadding="2" cellspacing="0" border="0"> - <tr> - <th> - <br/> +<hr /> + <input type="submit" class="submitbutton" name="submit" value="${actionname} Delegation"/> - </th> - <td> - <br/> <input type="submit" class="submitbutton" name="submit" value="Cancel ${actionname}"/> - </td> - <td py:if='actionname == "Update"'> - <br/> - + <span py:if='actionname == "Update"'> <input type="button" class="deletebutton" value="Delete Delegation" onclick="return confirmDelete();" /> - </td> - </tr> - </table> + </span> <script py:if="not value.get('source_group_dn')" type="text/javascript"> diff --git a/ipa-server/ipa-gui/ipagui/templates/delegatelayout.kid b/ipa-server/ipa-gui/ipagui/templates/delegatelayout.kid index 6cec389cb..171326539 100644 --- a/ipa-server/ipa-gui/ipagui/templates/delegatelayout.kid +++ b/ipa-server/ipa-gui/ipagui/templates/delegatelayout.kid @@ -6,11 +6,12 @@ <body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()"> <div id="main_content"> - <div id="status_block" py:if="value_of('tg_flash', None)" - py:content="XML(tg_flash)"></div> +<div id="details"> + <div id="alertbox" py:if="value_of('tg_flash', None)"><p py:content="XML(tg_flash)"></p></div> <div py:replace="[item.text]+item[:]"></div> </div> +</div> </body> </html> diff --git a/ipa-server/ipa-gui/ipagui/templates/delegatelist.kid b/ipa-server/ipa-gui/ipagui/templates/delegatelist.kid index 99bd1bb49..7faeed4da 100644 --- a/ipa-server/ipa-gui/ipagui/templates/delegatelist.kid +++ b/ipa-server/ipa-gui/ipagui/templates/delegatelist.kid @@ -25,10 +25,9 @@ from ipagui.helpers import ipahelper method="post" action="${tg.url('/delegate/edit')}"> <input type="hidden" id="edit_acistr" name="acistr" value="" /> </form> + <h1>Delegations</h1> - <h2>Delegations</h2> - - <table id="resultstable" class="sortable resizable"> + <table id="resultstable" class="details sortable resizable"> <thead> <tr> <th>${fields.name.label}</th> diff --git a/ipa-server/ipa-gui/ipagui/templates/delegatenew.kid b/ipa-server/ipa-gui/ipagui/templates/delegatenew.kid index 8b0876f25..ffae5bdf5 100644 --- a/ipa-server/ipa-gui/ipagui/templates/delegatenew.kid +++ b/ipa-server/ipa-gui/ipagui/templates/delegatenew.kid @@ -6,11 +6,9 @@ <title>Add Delegation</title> </head> <body> - - <h2>Add Delegation</h2> + <h1>Add Delegation</h1> ${form.display(action=tg.url("/delegate/create"), value=delegate, actionname='Add')} - </body> </html> diff --git a/ipa-server/ipa-gui/ipagui/templates/groupedit.kid b/ipa-server/ipa-gui/ipagui/templates/groupedit.kid index 9fe966634..f0b34b845 100644 --- a/ipa-server/ipa-gui/ipagui/templates/groupedit.kid +++ b/ipa-server/ipa-gui/ipagui/templates/groupedit.kid @@ -6,16 +6,14 @@ <title>Edit Group</title> </head> <body> - <div> - <div style="float:right"> - <input type="checkbox" id="toggleprotected_checkbox" + <div id="details"> + <h1>Edit Group</h1> +<input type="checkbox" id="toggleprotected_checkbox" onclick="toggleProtectedFields(this);"> <span class="small">edit protected fields</span> </input> - </div> - <h2>Edit Group</h2> - </div> ${form.display(action=tg.url('/group/update'), value=group, members=members)} +</div> </body> </html> diff --git a/ipa-server/ipa-gui/ipagui/templates/groupeditform.kid b/ipa-server/ipa-gui/ipagui/templates/groupeditform.kid index 2131193f3..cab585fcc 100644 --- a/ipa-server/ipa-gui/ipagui/templates/groupeditform.kid +++ b/ipa-server/ipa-gui/ipagui/templates/groupeditform.kid @@ -9,26 +9,15 @@ <form action="${action}" name="${name}" method="${method}" class="tableform" onsubmit="preSubmit()" > - <table class="formtable" cellpadding="2" cellspacing="0" border="0"> - <tr> - <th> <input type="submit" class="submitbutton" name="submit" value="Update Group"/> - </th> - <td> <input type="submit" class="submitbutton" name="submit" value="Cancel Edit" /> - </td> - <td> - <input type="button" class="deletebutton" value="Delete Group" onclick="return confirmDelete();" /> - <br/><br/> - </td> - </tr> - </table> + <?python from ipagui.helpers import ipahelper @@ -73,7 +62,7 @@ from ipagui.helpers import ipahelper py:replace="field.display(value_for(field), **params_for(field))" /> - <div class="formsection">Group Details</div> + <h2 class="formsection">Group Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -120,7 +109,7 @@ from ipagui.helpers import ipahelper </table> <div> - <div class="formsection">Group Members</div> + <h2 class="formsection">Group Members</h2> <div class="floatlist"> <div class="floatheader">To Remove:</div> @@ -176,7 +165,7 @@ from ipagui.helpers import ipahelper </div> <div style="clear:both"> - <div class="formsection">Add Members</div> + <h2 class="formsection">Add Members</h2> <div class="floatlist"> <div class="floatheader">To Add:</div> @@ -188,7 +177,7 @@ from ipagui.helpers import ipahelper <div id="search"> <input id="criteria" type="text" name="criteria" onkeypress="return enterDoSearch(event);" /> - <input type="button" value="Find" + <input class="searchbutton" type="button" value="Find" onclick="return doSearch();" /> </div> @@ -196,30 +185,15 @@ from ipagui.helpers import ipahelper </div> </div> </div> - - <table class="formtable" cellpadding="2" cellspacing="0" border="0"> - <tr> - <th> - <br /> +<hr /> <input type="submit" class="submitbutton" name="submit" value="Update Group"/> - </th> - <td> - <br /> <input type="submit" class="submitbutton" name="submit" value="Cancel Edit" /> - </td> - <td> - <br /> - <input type="button" class="deletebutton" value="Delete Group" onclick="return confirmDelete();" /> - </td> - </tr> - </table> - </form> <script type="text/javascript"> diff --git a/ipa-server/ipa-gui/ipagui/templates/grouplayout.kid b/ipa-server/ipa-gui/ipagui/templates/grouplayout.kid index 0f53060a1..317f813dc 100644 --- a/ipa-server/ipa-gui/ipagui/templates/grouplayout.kid +++ b/ipa-server/ipa-gui/ipagui/templates/grouplayout.kid @@ -6,8 +6,8 @@ <body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()"> <div id="main_content"> - <div id="status_block" py:if="value_of('tg_flash', None)" - py:content="XML(tg_flash)"></div> + <div id="alertbox" py:if="value_of('tg_flash', None)"> + <p py:content="XML(tg_flash)"></p></div> <div py:replace="[item.text]+item[:]"></div> </div> diff --git a/ipa-server/ipa-gui/ipagui/templates/grouplist.kid b/ipa-server/ipa-gui/ipagui/templates/grouplist.kid index 0bb8cb345..9f9bc4840 100644 --- a/ipa-server/ipa-gui/ipagui/templates/grouplist.kid +++ b/ipa-server/ipa-gui/ipagui/templates/grouplist.kid @@ -6,6 +6,8 @@ <title>Find Groups</title> </head> <body> +<div id="details"> + <h1>Find Groups</h1> <script type="text/javascript" charset="utf-8" src="${tg.url('/static/javascript/tablekit.js')}"></script> <div id="search"> <form action="${tg.url('/group/list')}" method="get"> @@ -18,7 +20,7 @@ </div> <div py:if='(groups != None) and (len(groups) > 0)'> <h2>${len(groups)} results returned:</h2> - <table id="resultstable" class="sortable resizable"> + <table id="resultstable" class="details sortable resizable"> <thead> <tr> <th> @@ -44,7 +46,7 @@ <div py:if='(groups != None) and (len(groups) == 0)'> <h2>No results found for "${criteria}"</h2> </div> - <div py:if='groups == None'> + <div class="instructions" py:if='groups == None'> <p> Search automatically looks across multiple fields. If you want to find Joe in Finance, try typing "joe finance" into the search box. @@ -61,5 +63,6 @@ will allow you to resize the header. </p> </div> +</div> </body> </html> diff --git a/ipa-server/ipa-gui/ipagui/templates/groupnew.kid b/ipa-server/ipa-gui/ipagui/templates/groupnew.kid index a3f764d6e..7f5d49f7d 100644 --- a/ipa-server/ipa-gui/ipagui/templates/groupnew.kid +++ b/ipa-server/ipa-gui/ipagui/templates/groupnew.kid @@ -6,8 +6,10 @@ <title>Add Group</title> </head> <body> - <h2>Add Group</h2> +<div id="details"> + <h1>Add Group</h1> ${form.display(action=tg.url('/group/create'), value=group)} +</div> </body> </html> diff --git a/ipa-server/ipa-gui/ipagui/templates/groupnewform.kid b/ipa-server/ipa-gui/ipagui/templates/groupnewform.kid index f55f95351..2b6e2ebb2 100644 --- a/ipa-server/ipa-gui/ipagui/templates/groupnewform.kid +++ b/ipa-server/ipa-gui/ipagui/templates/groupnewform.kid @@ -3,13 +3,7 @@ <form action="${action}" name="${name}" method="${method}" class="tableform" onsubmit="preSubmit()" > - <table class="formtable" cellpadding="2" cellspacing="0" border="0"> - <tr> - <td> <input type="submit" class="submitbutton" name="submit" value="Add Group"/> - </td> - </tr> - </table> <?python from ipagui.helpers import ipahelper @@ -36,7 +30,7 @@ from ipagui.helpers import ipahelper py:replace="field.display(value_for(field), **params_for(field))" /> - <div class="formsection">Group Details</div> + <h2 class="formsection">Group Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -76,7 +70,7 @@ from ipagui.helpers import ipahelper </table> <div style="clear:both"> - <div class="formsection">Add Members</div> + <h2 class="formsection">Add Members</h2> <div class="floatlist"> <div class="floatheader">To Add:</div> @@ -97,14 +91,9 @@ from ipagui.helpers import ipahelper </div> </div> - <table class="formtable" cellpadding="2" cellspacing="0" border="0"> - <tr> - <td> - <br /> - <input type="submit" class="submitbutton" name="submit" value="Add Group"/> - </td> - </tr> - </table> +<hr /> + + <input type="submit" class="submitbutton" name="submit" value="Add Group"/> </form> diff --git a/ipa-server/ipa-gui/ipagui/templates/groupshow.kid b/ipa-server/ipa-gui/ipagui/templates/groupshow.kid index 225692a50..7a66acdbe 100644 --- a/ipa-server/ipa-gui/ipagui/templates/groupshow.kid +++ b/ipa-server/ipa-gui/ipagui/templates/groupshow.kid @@ -9,13 +9,14 @@ <?python edit_url = tg.url('/group/edit', cn=group.get('cn')) ?> - <h2>View Group</h2> +<div id="details"> + <h1>View Group</h1> - <input type="button" + <input class="submitbutton" type="button" onclick="document.location.href='${edit_url}'" value="Edit Group" /> - <div class="formsection">Group Details</div> + <h2 class="formsection">Group Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -39,7 +40,7 @@ edit_url = tg.url('/group/edit', cn=group.get('cn')) </tr> </table> - <div class="formsection">Group Members</div> + <h2 class="formsection">Group Members</h2> <div py:for="member in members"> <?python @@ -68,10 +69,10 @@ edit_url = tg.url('/group/edit', cn=group.get('cn')) </div> <br/> - - <input type="button" +<hr /> + <input class="submitbutton" type="button" onclick="document.location.href='${edit_url}'" value="Edit Group" /> - +</div> </body> </html> diff --git a/ipa-server/ipa-gui/ipagui/templates/master.kid b/ipa-server/ipa-gui/ipagui/templates/master.kid index d0c20cfb6..990a989e4 100644 --- a/ipa-server/ipa-gui/ipagui/templates/master.kid +++ b/ipa-server/ipa-gui/ipagui/templates/master.kid @@ -16,26 +16,10 @@ <body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()"> - <div id="header"> - <div id="logo"> - <a href="${tg.url('/')}"><img - src="${tg.url('/static/images/logo.png')}" - border="0" alt="homepage" - /></a> - </div> + <div id="head"> + <h1><a href="${tg.url('/')}">Free IPA</a></h1> <div id="headerinfo"> - <div id="login"> - <div py:if="tg.config('identity.on') and not defined('logging_in')" id="pageLogin"> - <span py:if="tg.identity.anonymous"> - Kerberos login failed. - </span> - <span py:if="not tg.identity.anonymous"> - Logged in as: ${tg.identity.user.display_name} - </span> - </div> - - </div> - <div id="topsearch"> + <div id="searchbar"> <form action="${tg.url('/topsearch')}" method="post"> <select name="searchtype"> <option>Users</option> @@ -56,40 +40,60 @@ </script> </div> </div> +</div> + <div id="navbar"> +<!-- hiding the tabs + <ul> + <li><a href="#">Overview</a></li> + <li class="active"><a href="#">Users</a></li> + <li><a href="#">Groups</a></li> + <li><a href="#">Resources</a></li> + <li><a href="#">Policy</a></li> + <li><a href="#">Search</a></li> + </ul> +--> + <div id="login"> + <div py:if="tg.config('identity.on') and not defined('logging_in')" id="pageLogin"> + <span py:if="tg.identity.anonymous"> + Kerberos login failed. + </span> + <span py:if="not tg.identity.anonymous"> + Logged in as: ${tg.identity.user.display_name} + </span> </div> + </div> - <div id="page"> - <div id="nav"><!-- - This used to have links. Keeping around in case we move them back... - --></div> + </div> + + <div id="content"> <div id="sidebar"> <h2>Tasks</h2> - <p> - <a href="${tg.url('/user/new')}">Add Person</a><br/> - <a href="${tg.url('/user/list')}">Find People</a><br/> - </p> - <p> - <a href="${tg.url('/group/new')}">Add Group</a><br/> - <a href="${tg.url('/group/list')}">Find Groups</a><br/> - </p> - <p> - <a href="${tg.url('/')}">Manage Policy</a><br/> - <a href="${tg.url('/')}">Self Service</a><br/> - </p> - <p> - <a href="${tg.url('/delegate/list')}">Delegations</a><br/> - </p> + <ul> + <li><a href="${tg.url('/user/new')}">Add Person</a></li> + <li><a href="${tg.url('/user/list')}">Find People</a></li> + </ul> + <ul> + <li><a href="${tg.url('/group/new')}">Add Group</a></li> + <li><a href="${tg.url('/group/list')}">Find Groups</a></li> + </ul> + <ul> + <li><a href="${tg.url('/')}">Manage Policy</a></li> + <li><a href="${tg.url('/')}">Self Service</a></li> + </ul> + <ul> + <li><a href="${tg.url('/delegate/list')}">Delegations</a></li> + </ul> </div> <div py:replace="[item.text]+item[:]"></div> + </div> + <div id="footer"> <a href="http://www.freeipa.com/" target="_blank">Powered by FreeIPA</a> </div> - </div> - </body> </html> diff --git a/ipa-server/ipa-gui/ipagui/templates/useredit.kid b/ipa-server/ipa-gui/ipagui/templates/useredit.kid index 3ce4e9f62..3f9482a3d 100644 --- a/ipa-server/ipa-gui/ipagui/templates/useredit.kid +++ b/ipa-server/ipa-gui/ipagui/templates/useredit.kid @@ -14,7 +14,7 @@ <span class="small">edit protected fields</span> </input> </div> - <h2>Edit Person</h2> + <h1>Edit Person</h1> </div> <?python diff --git a/ipa-server/ipa-gui/ipagui/templates/usereditform.kid b/ipa-server/ipa-gui/ipagui/templates/usereditform.kid index 3a1119610..f6da48870 100644 --- a/ipa-server/ipa-gui/ipagui/templates/usereditform.kid +++ b/ipa-server/ipa-gui/ipagui/templates/usereditform.kid @@ -9,25 +9,14 @@ <form action="${action}" name="${name}" method="${method}" class="tableform" onsubmit="preSubmit()"> - <table class="formtable" cellpadding="2" cellspacing="0" border="0"> - <tr> - <th> <input type="submit" class="submitbutton" name="submit" value="Update Person"/> - </th> - <td> <input type="submit" class="submitbutton" name="submit" value="Cancel Edit" /> - </td> - <td> - - <input type="button" class="deletebutton" + <input type="button" class="submitbutton" value="Delete Person" onclick="return confirmDelete();" /> - </td> - </tr> - </table> <?python from ipagui.helpers import ipahelper @@ -38,7 +27,7 @@ from ipagui.helpers import ipahelper <script type="text/javascript" charset="utf-8" src="${tg.url('/static/javascript/dynamicselect.js')}"></script> - <?python + <?python searchurl = tg.url('/user/edit_search') selectSearchurl = tg.url('/user/user_select_search') ?> @@ -110,7 +99,7 @@ from ipagui.helpers import ipahelper py:replace="field.display(value_for(field), **params_for(field))" /> - <div class="formsection">Identity Details</div> + <h2 class="formsection">Identity Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -190,7 +179,7 @@ from ipagui.helpers import ipahelper </tr> </table> - <div class="formsection">Account Details</div> + <h2 class="formsection">Account Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -359,7 +348,7 @@ from ipagui.helpers import ipahelper </tr> </table> - <div class="formsection">Contact Details</div> + <h2 class="formsection">Contact Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -434,7 +423,7 @@ from ipagui.helpers import ipahelper </tr> </table> - <div class="formsection">Mailing Address</div> + <h2 class="formsection">Mailing Address</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -497,7 +486,7 @@ from ipagui.helpers import ipahelper </tr> </table> - <div class="formsection">Employee Information</div> + <h2 class="formsection">Employee Information</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -606,7 +595,7 @@ from ipagui.helpers import ipahelper </tr> </table> - <div class="formsection">Misc Information</div> + <h2 class="formsection">Misc Information</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -633,7 +622,7 @@ from ipagui.helpers import ipahelper </table> <div py:if='len(custom_fields) > 0'> - <div class="formsection" >Custom Fields</div> + <h2 class="formsection" >Custom Fields</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr py:for='custom_field in custom_fields'> <th> @@ -651,7 +640,7 @@ from ipagui.helpers import ipahelper <div> - <div class="formsection">Groups</div> + <h2 class="formsection">Groups</h2> <div class="floatlist"> <div class="floatheader">To Remove:</div> @@ -701,7 +690,7 @@ from ipagui.helpers import ipahelper </div> <div style="clear:both"> - <div class="formsection">Add Groups</div> + <h2 class="formsection">Add Groups</h2> <div class="floatlist"> <div class="floatheader">To Add:</div> @@ -722,28 +711,16 @@ from ipagui.helpers import ipahelper </div> </div> - <table class="formtable" cellpadding="2" cellspacing="0" border="0"> - <tr> - <th> - <br /> + <hr/> + <input type="submit" class="submitbutton" name="submit" value="Update Person"/> - </th> - <td> - <br /> <input type="submit" class="submitbutton" name="submit" value="Cancel Edit" /> - </td> - <td> - <br /> - - <input type="button" class="deletebutton" + <input type="button" class="submitbutton" value="Delete Person" onclick="return confirmDelete();" /> - </td> - </tr> - </table> </form> diff --git a/ipa-server/ipa-gui/ipagui/templates/userlayout.kid b/ipa-server/ipa-gui/ipagui/templates/userlayout.kid index 215141197..bbeb81399 100644 --- a/ipa-server/ipa-gui/ipagui/templates/userlayout.kid +++ b/ipa-server/ipa-gui/ipagui/templates/userlayout.kid @@ -6,8 +6,9 @@ <body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()"> <div id="main_content"> - <div id="status_block" py:if="value_of('tg_flash', None)" - py:content="XML(tg_flash)"></div> + <div id="details"> + <div id="alertbox" py:if="value_of('tg_flash', None)"> + <p py:content="XML(tg_flash)"></p></div> <div py:replace="[item.text]+item[:]"></div> </div> @@ -17,6 +18,7 @@ <a href="${tg.url('/user/new')}">Add Person</a><br/> <a href="${tg.url('/user/list')}">Find People</a><br/> </div> --> + </div> </body> </html> diff --git a/ipa-server/ipa-gui/ipagui/templates/userlist.kid b/ipa-server/ipa-gui/ipagui/templates/userlist.kid index 529a009c8..0c037d2ac 100644 --- a/ipa-server/ipa-gui/ipagui/templates/userlist.kid +++ b/ipa-server/ipa-gui/ipagui/templates/userlist.kid @@ -6,11 +6,12 @@ <title>Find People</title> </head> <body> + <h1>Find People</h1> <script type="text/javascript" charset="utf-8" src="${tg.url('/static/javascript/tablekit.js')}"></script> <div id="search"> <form action="${tg.url('/user/list')}" method="get"> <input id="uid" type="text" name="uid" value="${uid}" /> - <input type="submit" value="Find People"/> + <input class="searchbutton" type="submit" value="Find People"/> </form> <script type="text/javascript"> document.getElementById("uid").focus(); @@ -18,7 +19,7 @@ </div> <div py:if='(users != None) and (len(users) > 0)'> <h2>${len(users)} results returned:</h2> - <table id="resultstable" class="sortable resizable"> + <table id="resultstable" class="details sortable resizable"> <thead> <tr> <th> @@ -55,10 +56,11 @@ </tbody> </table> </div> - <div py:if='(users != None) and (len(users) == 0)'> - <h2>No results found for "${uid}"</h2> + <div id="alertbox" py:if='(users != None) and (len(users) == 0)'> + <p id="alertbox">No results found for "${uid}"</p> </div> - <div py:if='users == None'> + + <div class="instructions" py:if='users == None'> <p> Search automatically looks across multiple fields. If you want to find Joe in Finance, try typing "joe finance" into the search box. diff --git a/ipa-server/ipa-gui/ipagui/templates/usernew.kid b/ipa-server/ipa-gui/ipagui/templates/usernew.kid index ab207e81a..16f0e66b9 100644 --- a/ipa-server/ipa-gui/ipagui/templates/usernew.kid +++ b/ipa-server/ipa-gui/ipagui/templates/usernew.kid @@ -6,7 +6,7 @@ <title>Add Person</title> </head> <body> - <h2>Add Person</h2> + <h1>Add Person</h1> ${form.display(action=tg.url("/user/create"), value=user)} </body> diff --git a/ipa-server/ipa-gui/ipagui/templates/usernewform.kid b/ipa-server/ipa-gui/ipagui/templates/usernewform.kid index 09a09dd32..eeaa87fa4 100644 --- a/ipa-server/ipa-gui/ipagui/templates/usernewform.kid +++ b/ipa-server/ipa-gui/ipagui/templates/usernewform.kid @@ -2,14 +2,8 @@ class="simpleroster"> <form action="${action}" name="${name}" method="${method}" class="tableform" onsubmit="preSubmit()"> - - <table class="formtable" cellpadding="2" cellspacing="0" border="0"> - <tr> - <td> - <input type="submit" class="submitbutton" name="submit" value="Add Person"/> - </td> - </tr> - </table> + +<input type="submit" class="submitbutton" name="submit" value="Add Person"/> <?python from ipagui.helpers import ipahelper @@ -20,7 +14,7 @@ from ipagui.helpers import ipahelper <script type="text/javascript" charset="utf-8" src="${tg.url('/static/javascript/dynamicselect.js')}"></script> - <?python + <?python searchurl = tg.url('/user/edit_search') selectSearchurl = tg.url('/user/user_select_search') ?> @@ -44,7 +38,6 @@ from ipagui.helpers import ipahelper info.name + " ")); } } - function doSelectSearch(which_select) { $(which_select + '_searchresults').update("Searching..."); new Ajax.Updater(which_select + '_searchresults', @@ -61,7 +54,7 @@ from ipagui.helpers import ipahelper py:replace="field.display(value_for(field), **params_for(field))" /> - <div class="formsection">Identity Details</div> + <h2 class="formsection">Identity Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -209,7 +202,7 @@ from ipagui.helpers import ipahelper </tr> </table> - <div class="formsection">Account Details</div> + <h2 class="formsection">Account Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -328,7 +321,7 @@ from ipagui.helpers import ipahelper </tr> </table> - <div class="formsection">Contact Details</div> + <h2 class="formsection">Contact Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -403,7 +396,7 @@ from ipagui.helpers import ipahelper </tr> </table> - <div class="formsection">Mailing Address</div> + <h2 class="formsection">Mailing Address</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -466,7 +459,7 @@ from ipagui.helpers import ipahelper </tr> </table> - <div class="formsection">Employee Information</div> + <h2 class="formsection">Employee Information</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -575,7 +568,7 @@ from ipagui.helpers import ipahelper </tr> </table> - <div class="formsection">Misc Information</div> + <h2 class="formsection">Misc Information</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -619,7 +612,8 @@ from ipagui.helpers import ipahelper </div> <div style="clear:both"> - <div class="formsection">Add Groups</div> + <h2 class="formsection">Add Groups</h2> + <div class="floatlist"> <div class="floatheader">To Add:</div> @@ -631,7 +625,7 @@ from ipagui.helpers import ipahelper <div id="search"> <input id="criteria" type="text" name="criteria" onkeypress="return enterDoSearch(event);" /> - <input type="button" value="Find" + <input class="searchbutton" type="button" value="Find" onclick="return doSearch();" /> </div> @@ -640,14 +634,8 @@ from ipagui.helpers import ipahelper </div> </div> - <table class="formtable" cellpadding="2" cellspacing="0" border="0"> - <tr> - <td> - <br /> - <input type="submit" class="submitbutton" name="submit" value="Add Person"/> - </td> - </tr> - </table> +<hr /> +<input type="submit" class="submitbutton" name="submit" value="Add Person"/> </form> diff --git a/ipa-server/ipa-gui/ipagui/templates/usershow.kid b/ipa-server/ipa-gui/ipagui/templates/usershow.kid index c1e40a1b3..cc56340d9 100644 --- a/ipa-server/ipa-gui/ipagui/templates/usershow.kid +++ b/ipa-server/ipa-gui/ipagui/templates/usershow.kid @@ -9,9 +9,9 @@ <?python edit_url = tg.url('/user/edit', uid=user.get('uid')) ?> - <h2>View Person</h2> + <h1>View Person</h1> - <input type="button" + <input class="submitbutton" type="button" onclick="document.location.href='${edit_url}'" value="Edit Person" /> @@ -26,14 +26,14 @@ else: days_suffix = "" ?> - <div py:if='pw_expires_soon' class="warning_message"> + <div id="alertbox" 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"> + <div id="alertbox" py:if='pw_is_expired' class="warning_message"> Password has expired </div> - <div class="formsection">Identity Details</div> + <h2 class="formsection">Identity Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -73,7 +73,7 @@ else: </tr> </table> - <div class="formsection">Account Details</div> + <h2 class="formsection">Account Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -119,7 +119,7 @@ else: </tr> </table> - <div class="formsection">Contact Details</div> + <h2 class="formsection">Contact Details</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -160,7 +160,7 @@ else: </tr> </table> - <div class="formsection">Mailing Address</div> + <h2 class="formsection">Mailing Address</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -194,7 +194,7 @@ else: </tr> </table> - <div class="formsection">Employee Information</div> + <h2 class="formsection">Employee Information</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -240,7 +240,7 @@ else: </tr> </table> - <div class="formsection">Misc Information</div> + <h2 class="formsection">Misc Information</h2> <table class="formtable" cellpadding="2" cellspacing="0" border="0"> <tr> <th> @@ -274,7 +274,7 @@ else: </table> </div> - <div class="formsection" py:if='len(user_reports) > 0'>Direct Reports</div> + <h2 class="formsection" py:if='len(user_reports) > 0'>Direct Reports</h2> <ol py:if="len(user_reports) > 0"> <li py:for="report in user_reports"> <a href="${tg.url('/user/show', uid=report.uid)}" @@ -282,16 +282,15 @@ else: </li> </ol> - <div class="formsection">Groups</div> + <h2 class="formsection">Groups</h2> <div py:for="group in user_groups"> <a href="${tg.url('/group/show', cn=group.cn)}">${group.cn}</a> </div> <br/> - - <input type="button" +<hr /> + <input class="submitbutton" type="button" onclick="document.location.href='${edit_url}'" value="Edit Person" /> - </body> </html> diff --git a/ipa-server/ipa-gui/ipagui/templates/welcome.kid b/ipa-server/ipa-gui/ipagui/templates/welcome.kid index d2663788a..732b3d6d3 100644 --- a/ipa-server/ipa-gui/ipagui/templates/welcome.kid +++ b/ipa-server/ipa-gui/ipagui/templates/welcome.kid @@ -6,9 +6,9 @@ <title>Welcome</title> </head> <body> - <div id="main_content"> - <div id="status_block" py:if="value_of('tg_flash', None)" - py:content="XML(tg_flash)"></div> + <div id="details"> + <div id="alertbox" py:if="value_of('tg_flash', None)"> + <p py:content="XML(tg_flash)"></p></div> <h1>Welcome to Free IPA</h1> <noscript> @@ -19,8 +19,7 @@ </noscript> <p> - IPA is used to manage Identity, Policy, and Auditing for your - organization. +IPA is used to manage Identity, Policy, and Auditing for your organization. </p> <p> To get started, you can use the search box in the top right to find |