Edgewall Software

Ticket #3921: perm-display-grouping-genshi.patch

File perm-display-grouping-genshi.patch, 2.8 KB (added by awbacker@…, 2 years ago)

For Genshi. Template, css, and js.

  • webadmin/htdocs/css/admin.css

     
    1313.tabs :link, .tabs :visited { border: none; display: block } 
    1414.tabs :link:hover, .tabs :visited:hover { background: transparent } 
    1515 
     16/*-- permissions screen.  uncomment to draw border around hovered element */ 
     17.perm-actionname { cursor: pointer; } /*padding-left:2px;*/ 
     18/*.perm-actionname:hover {  border: 1px dotted #aaa; padding-left:1px;} */ 
     19 
    1620.tabcontents { 
    1721 padding: 0.4em 2em; 
    1822 margin-left: 12em; 
  • webadmin/htdocs/js/admin.js

     
    1818    classNames.splice(classIndex, class1 ? 1 : 0, class2); 
    1919    element.className = classNames.join(' '); 
    2020} 
     21/** 
     22 * toggles a checkbox on/off.  Expects an element id. 
     23 */ 
     24function toggleCheck( elementId ) { 
     25    chk = document.getElementById(elementId); 
     26    if ( chk ) { 
     27        chk.checked = !chk.checked;   
     28    }    
     29} 
    2130 
    2231var fragmentId = document.location.hash; 
    2332if (fragmentId) { 
  • webadmin/templates/admin_perm.html

     
    11<div xmlns="http://www.w3.org/1999/xhtml" 
    22  xmlns:py="http://genshi.edgewall.org/" 
    33  id="page"> 
     4  <script type="text/javascript" src="/trac/prism/chrome/admin/js/admin.js"></script> 
    45  <h2>Manage Permissions</h2> 
    56 
    67  <form id="addperm" class="addnew" method="post"> 
     
    4243  <form method="post"> 
    4344    <table class="listing" id="permlist"> 
    4445      <thead> 
    45         <tr><th class="sel">&nbsp;</th><th>Subject</th><th>Action</th></tr> 
     46        <tr><th class="sel">&nbsp;</th><th>Subject</th></tr> 
    4647      </thead> 
    4748      <tbody> 
    48         <tr py:for="perm in perms"> 
    49           <td><input type="checkbox" name="sel" value="$perm.key" /></td> 
    50           <td>$perm.subject</td> 
    51           <td>$perm.action</td> 
    52         </tr> 
     49        <py:for each="subject, permGroup in groupby(perms, lambda tmp: tmp.subject)"> 
     50          <tr> 
     51            <td>${subject}</td> 
     52            <td> 
     53              <py:for each="p in permGroup"> 
     54                <div style="width:160px;float:left;"> 
     55                  <input type="checkbox" name="sel" value="$p.key" id="$p.key"/> 
     56                  <span class="perm-actionname" onclick="toggleCheck('$p.key');">$p.action</span> 
     57                </div> 
     58              </py:for> 
     59            </td> 
     60          </tr> 
     61        </py:for> 
    5362      </tbody> 
    5463    </table> 
    5564    <div class="buttons">