ForgeDiscussion/forgediscussion/templates/admin.html to ForgeDiscussion/forgediscussion/templates/admin_forums.html
--- a/ForgeDiscussion/forgediscussion/templates/admin.html +++ b/ForgeDiscussion/forgediscussion/templates/admin_forums.html @@ -11,86 +11,11 @@ <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/> - <title>Admin for $c.project.name $app.config.options.mount_point</title> + <title>$app.config.options.mount_point Admin Forums</title> </head> <body> - <h1 class="title">Discussion Admin</h1> - <div id="app_admin_tabs"> - <ul> - <li><a href="#app-config" py:if="len(app.config_options) > 1">$app.config.tool_name Options</a></li> - <li><a href="#app-acl" - py:if="app.permissions and allow_config">Permissions</a></li> - <li><a href="#app-forums">Forums</a></li> - </ul> - <div id="app-config" py:if="len(app.config_options) > 1" style="overflow: auto"> - <form method="post" action="configure"> - <py:for each="o in app.config_options" py:if="o.name != 'mount_point'"> - <div class="span-3"><label for="$o.name" class="span-3">$o.name</label></div> - <div class="span-13 last" py:if="not allow_config"> - ${app.config.options.get(o.name, o.default)} - </div> - <div class="editable viewing span-13 last" style="min-height:1em;" - py:if="allow_config"> - <div class="viewer">${app.config.options.get(o.name, o.default)}</div> - <div class="editor"><input name="$o.name" value="${app.config.options.get(o.name, o.default)}"/></div> - </div> - <hr class="clear clearfix" /> - </py:for> - <div class="span-13 push-3 last"> - <input type="submit" value="Update config" py:if="allow_config" - class="ui-state-default ui-button ui-button-text"/> - <input py:if="app.installable and allow_config" type="submit" name="delete" value="Delete Tool" - class="ui-state-default ui-button ui-button-text"/> - </div> - </form> - </div> - <div id="app-acl" py:if="app.permissions and allow_config"> - <div id="acl-admin"> - <py:for each="p in app.permissions" > - <h3><a href="#" id="permission_$p">$p</a></h3> - <div> - <table> - <thead> - <tr> - <th>Role</th> - <th/> - </tr> - </thead> - <tbody> - <tr py:for="role in h.make_roles(app.config.acl[p])"> - <td>${role.display()}</td> - <td> - <form method="POST" action="del_perm" style="display:inline"> - <input type="hidden" name="permission" value="$p"/> - <input type="hidden" name="role" value="${role._id}"/> - <input type="submit" value="Remove" py:if="role.display() != '*user-'+c.user.username" - class="ui-state-default ui-button ui-button-text"/> - </form> - </td> - </tr> - <tr> - <form method="POST" action="add_perm"> - <td> - <select name="role"> - <option py:for="role in c.project.roles" - value="$role._id" - >${role.display()}</option> - </select> - </td> - <td> - <input type="hidden" name="permission" value="$p"/> - <input type="submit" value="Add Permission" class="ui-state-default ui-button ui-button-text"/> - </td> - </form> - </tr> - </tbody> - </table> - </div> - </py:for> - </div> - </div> - <div id="app-forums"> + <h1 class="title">$app.config.options.mount_point Admin Forums</h1> <form method="POST" action="update_forums" enctype="multipart/form-data"> <table id="forums"> <thead> @@ -170,23 +95,8 @@ </div> <div class="clear"/> </form> - </div> - </div> <script type="text/javascript"> $(function() { - $("#app_admin_tabs").tabs({cookie:{expires:30}}); - $("#acl-admin").accordion({ - autoHeight: false, - navigation: true, - change: function(event,ui) { - var hid = ui.newHeader.children('a').attr('id'); - if (hid === undefined) { - $.cookie('discussion-acl-admin', null); - } else { - $.cookie('discussion-acl-admin', hid, { path: '/', expires: 2 }); - } - } - }); $("#add_forum").click(function(){ $("#add_forum_form").show(); $(this).hide(); @@ -198,13 +108,6 @@ return false; }); }); - $(document).ready(function(){ - if($.cookie('discussion-acl-admin')) { - $('#acl-admin').accordion('option', 'animated', false) - .accordion('activate', $('#' + $.cookie('discussion-acl-admin')).parent('h3')) - .accordion('option', 'animated', 'slide'); - } - }); </script> </body> </html>
ForgeTracker/forgetracker/templates/admin.html to ForgeTracker/forgetracker/templates/admin_fields.html
--- a/ForgeTracker/forgetracker/templates/admin.html +++ b/ForgeTracker/forgetracker/templates/admin_fields.html @@ -10,133 +10,51 @@ <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/> - <title>$app.config.tool_name Admin</title> + <title>$app.config.options.mount_point Admin Fields</title> </head> <body> - <h1 class="title">$app.config.tool_name Admin</h1> - <div id="app_admin_tabs"> - <ul> - <li><a href="#app-acl" - py:if="app.permissions and allow_config">Permissions</a></li> - <li><a href="#app-field-management">Field Management</a></li> - </ul> - <div id="app-acl" py:if="app.permissions and allow_config"> - <div id="acl-admin"> - <py:for each="p in app.permissions" > - <h3><a href="#" id="permission_$p">$p</a></h3> - <div> - <table> - <thead> - <tr> - <th>Role</th> - <th/> - </tr> - </thead> - <tbody> - <tr py:for="role in h.make_roles(app.config.acl[p])"> - <td>${role.display()}</td> - <td> - <form method="POST" action="del_perm" style="display:inline"> - <input type="hidden" name="permission" value="$p"/> - <input type="hidden" name="role" value="${role._id}"/> - <input type="submit" value="Remove" py:if="role.display() != '*user-'+c.user.username" - class="ui-state-default ui-button ui-button-text"/> - </form> - </td> - </tr> - <tr> - <form method="POST" action="add_perm"> - <td> - <select name="role"> - <option py:for="role in c.project.roles" - value="$role._id" - >${role.display()}</option> - </select> - </td> - <td> - <input type="hidden" name="permission" value="$p"/> - <input type="submit" value="Add Permission" class="ui-state-default ui-button ui-button-text"/> - </td> - </form> - </tr> - </tbody> - </table> - </div> - </py:for> - </div> + <h1 class="title">$app.config.options.mount_point Admin Fields</h1> + <div class="span-3 clear"><label>Milestone Names:</label></div> + <div class="span-13 last"> + <input type="text" name="milestone_names" id="milestone_names" value="${globals.milestone_names}" + py:if="allow_config" class="title wide"/> + <span py:if="not allow_config">${globals.milestone_names}</span> + </div> + <hr class="clear clearfix" /> + <div class="span-3 clear"><label>Status Names:</label></div> + <div class="span-13 last"> + <input type="text" name="status_names" id="status_names" value="${globals.status_names}" + py:if="allow_config" class="title wide"/> + <span py:if="not allow_config">${globals.status_names}</span> + </div> + <hr class="clear clearfix" /> + <div class="span-3 clear"><label>Custom Fields:</label></div> + <div class="span-13 last" style="padding-top: 10px"> + <p id="has_fields_message">Drag and drop the fields to re-order.</p> + <p id="no_fields_message">No custom fields have been created.</p> + <div id="custom-field-list"> + <py:for each="field in globals.custom_fields"> + <?python show_in_search = 'true' if field.show_in_search else 'false' ?> + <div style="display:none" class="custom-field-stub" + data-label="${field.label}" data-type="${field.type}" data-options="${getattr(field, 'options', '')}" + data-show-in-search="${show_in_search}" + py:if="allow_config"/> + <py:if test="not allow_config"> + <div class="span-3"><label>Label: </label></div><div class="span-15 last">${field.label}</div> + <div class="span-3"><label>Type: </label></div><div class="span-15 last">${field.type}</div> + <span class="options-wrapper" py:if="field.options"><div class="span-3"><label>Options: </label></div><div class="span-15 last">${getattr(field, 'options', '')}</div></span> + </py:if> + </py:for> </div> - <div id="app-field-management"> - <div> - <div class="span-3 clear"><label>Milestone Names:</label></div> - <div class="span-13 last"> - <input type="text" name="milestone_names" id="milestone_names" value="${globals.milestone_names}" - py:if="allow_config" class="title wide"/> - <span py:if="not allow_config">${globals.milestone_names}</span> - </div> - <hr class="clear clearfix" /> - <div class="span-3 clear"><label>Status Names:</label></div> - <div class="span-13 last"> - <input type="text" name="status_names" id="status_names" value="${globals.status_names}" - py:if="allow_config" class="title wide"/> - <span py:if="not allow_config">${globals.status_names}</span> - </div> - <hr class="clear clearfix" /> - <div class="span-3 clear"><label>Custom Fields:</label></div> - <div class="span-13 last" style="padding-top: 10px"> - <p id="has_fields_message">Drag and drop the fields to re-order.</p> - <p id="no_fields_message">No custom fields have been created.</p> - <div id="custom-field-list"> - <py:for each="field in globals.custom_fields"> - <?python show_in_search = 'true' if field.show_in_search else 'false' ?> - <div style="display:none" class="custom-field-stub" - data-label="${field.label}" data-type="${field.type}" data-options="${getattr(field, 'options', '')}" - data-show-in-search="${show_in_search}" - py:if="allow_config"/> - <py:if test="not allow_config"> - <div class="span-3"><label>Label: </label></div><div class="span-15 last">${field.label}</div> - <div class="span-3"><label>Type: </label></div><div class="span-15 last">${field.type}</div> - <span class="options-wrapper" py:if="field.options"><div class="span-3"><label>Options: </label></div><div class="span-15 last">${getattr(field, 'options', '')}</div></span> - </py:if> - </py:for> - </div> - </div> - <hr class="clear clearfix" /> - <div class="push-3 span-13 last"> - <input type="button" onclick="add_field()" class="ui-state-default ui-button ui-button-text" - py:if="allow_config" value="Add Field"/> - <input type="button" onclick="save_fields()" class="ui-state-default ui-button ui-button-text" - py:if="allow_config" value="Save"/> - </div> - </div> - </div> - </div> - <script type="text/javascript"> - $(function() { - $("#app_admin_tabs").tabs({cookie:{expires:30}}); - }); - $(function() { - $("#acl-admin").accordion({ - autoHeight: false, - navigation: true, - change: function(event,ui) { - var hid = ui.newHeader.children('a').attr('id'); - if (hid === undefined) { - $.cookie('tracker-acl-admin', null); - } else { - $.cookie('tracker-acl-admin', hid, { path: '/', expires: 2 }); - } - } - }); - }); - $(document).ready(function(){ - if($.cookie('tracker-acl-admin')) { - $('#acl-admin').accordion('option', 'animated', false) - .accordion('activate', $('#' + $.cookie('tracker-acl-admin')).parent('h3')) - .accordion('option', 'animated', 'slide'); - } - }); - </script> + </div> + <hr class="clear clearfix" /> + <div class="push-3 span-13 last"> + <input type="button" onclick="add_field()" class="ui-state-default ui-button ui-button-text" + py:if="allow_config" value="Add Field"/> + <input type="button" onclick="save_fields()" class="ui-state-default ui-button ui-button-text" + py:if="allow_config" value="Save"/> + </div> </body> <style type="text/css"> div.custom-field {
pyforge/pyforge/templates/app_admin.html to ForgeTracker/forgetracker/templates/admin_permissions.html
--- a/pyforge/pyforge/templates/app_admin.html +++ b/ForgeTracker/forgetracker/templates/admin_permissions.html @@ -3,117 +3,82 @@ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://genshi.edgewall.org/" xmlns:xi="http://www.w3.org/2001/XInclude"> - + <xi:include href="master.html" /> <?python from pyforge.lib.security import has_artifact_access ?> - + <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/> - <title>$app.config.tool_name Admin</title> + <title>$app.config.options.mount_point Admin Permissions</title> </head> - + <body> - <h1 class="title">$app.config.tool_name Admin</h1> - <py:if test="not len(app.config_options) > 1 and not (app.permissions and allow_config)"> - Nothing to administer for ${app.config.tool_name}. - </py:if> - <py:if test="len(app.config_options) > 1 or (app.permissions and allow_config)"> - <div id="app_admin_tabs"> - <ul> - <li><a href="#app-config" py:if="len(app.config_options) > 1">$app.config.tool_name Options</a></li> - <li><a href="#app-acl" - py:if="app.permissions and allow_config">$app.config.tool_name Permissions</a></li> - </ul> - <div id="app-config" py:if="len(app.config_options) > 1" style="overflow: auto"> - <form method="post" action="configure"> - <py:for each="o in app.config_options" py:if="o.name != 'mount_point'"> - <div class="span-3"><label for="$o.name" class="span-3">$o.name</label></div> - <div class="span-13 last" py:if="not allow_config"> - ${app.config.options.get(o.name, o.default)} - </div> - <div class="editable viewing span-13 last" style="min-height:1em;" - py:if="allow_config"> - <div class="viewer">${app.config.options.get(o.name, o.default)}</div> - <div class="editor"><input name="$o.name" value="${app.config.options.get(o.name, o.default)}"/></div> - </div> - <hr class="clear clearfix" /> - </py:for> - <div class="span-13 push-3 last"> - <input type="submit" value="Update config" py:if="allow_config" - class="ui-state-default ui-button ui-button-text"/> - <input py:if="app.installable and allow_config" type="submit" name="delete" value="Delete Tool" - class="ui-state-default ui-button ui-button-text"/> - </div> - </form> + <h1 class="title">$app.config.options.mount_point Admin Permissions</h1> + <div id="acl-admin" py:if="app.permissions and allow_config"> + <py:for each="p in app.permissions" > + <h3><a href="#" id="permission_$p">$p</a></h3> + <div> + <table> + <thead> + <tr> + <th>Role</th> + <th/> + </tr> + </thead> + <tbody> + <tr py:for="role in h.make_roles(app.config.acl[p])"> + <td>${role.display()}</td> + <td> + <form method="POST" action="del_perm" style="display:inline"> + <input type="hidden" name="permission" value="$p"/> + <input type="hidden" name="role" value="${role._id}"/> + <input type="submit" value="Remove" py:if="role.display() != '*user-'+c.user.username" + class="ui-state-default ui-button ui-button-text"/> + </form> + </td> + </tr> + <tr> + <form method="POST" action="add_perm"> + <td> + <select name="role"> + <option py:for="role in c.project.roles" + value="$role._id" + >${role.display()}</option> + </select> + </td> + <td> + <input type="hidden" name="permission" value="$p"/> + <input type="submit" value="Add Permission" class="ui-state-default ui-button ui-button-text"/> + </td> + </form> + </tr> + </tbody> + </table> </div> - <div id="app-acl" - py:if="app.permissions and allow_config"> - <div id="acl-admin"> - <py:for each="p in app.permissions" > - <h3><a href="#" id="permission_$p">$p</a></h3> - <div> - <table> - <thead> - <tr> - <th>Role</th> - <th/> - </tr> - </thead> - <tbody> - <tr py:for="role in h.make_roles(app.config.acl[p])"> - <td>${role.display()}</td> - <td> - <form method="POST" action="del_perm" style="display:inline"> - <input type="hidden" name="permission" value="$p"/> - <input type="hidden" name="role" value="${role._id}"/> - <input type="submit" value="Remove" py:if="role.display() != '*user-'+c.user.username"/> - </form> - </td> - </tr> - </tbody> - </table> - <form method="POST" action="add_perm"> - <input type="hidden" name="permission" value="$p"/> - <select name="role"> - <option py:for="role in c.project.roles" - value="$role._id" - >${role.display()}</option> - </select> - <input type="submit" value="Add role"/> - </form> - </div> - </py:for> - </div> - - </div> - </div> - <script type="text/javascript"> - $(function() { - $("#app_admin_tabs").tabs({cookie:{expires:30}}); - }); - $(function() { - $("#acl-admin").accordion({ - autoHeight: false, - navigation: true, - change: function(event,ui) { - var hid = ui.newHeader.children('a').attr('id'); - if (hid === undefined) { - $.cookie('app-acl-admin', null); - } else { - $.cookie('app-acl-admin', hid, { path: '/', expires: 2 }); - } - } - }); - }); - $(document).ready(function(){ - if($.cookie('app-acl-admin')) { - $('#acl-admin').accordion('option', 'animated', false) - .accordion('activate', $('#' + $.cookie('app-acl-admin')).parent('h3')) - .accordion('option', 'animated', 'slide'); + </py:for> + </div> + <script type="text/javascript"> + $(function() { + $("#acl-admin").accordion({ + autoHeight: false, + change: function(event,ui) { + var hid = ui.newHeader.children('a').attr('id'); + if (hid === undefined) { + $.cookie('tracker-acl-admin', null); + } else { + $.cookie('tracker-acl-admin', hid, { path: '/', expires: 2 }); } - }); + } + }); + }); + $(document).ready(function(){ + if($.cookie('tracker-acl-admin')) { + $('#acl-admin').accordion('option', 'animated', false) + .accordion('activate', $('#' + $.cookie('tracker-acl-admin')).parent('h3')) + .accordion('option', 'animated', 'slide'); + } + }); </script> - </py:if> </body> </html>