Changeset 1262

Show
Ignore:
Timestamp:
01/28/07 03:33:59
Author:
johnsa
Message:

user client:

- overhaul of access control form
- all access control fields are currently available -

some will be hidden eventually

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/deployment/webuser/webapp/resources/demoskins/default/default/default.css

    r1243 r1262  
    15041504  margin: 1em; 
    15051505} 
     1506#howTable { 
     1507  border: none; 
     1508  padding: 0; 
     1509  margin: 0; 
     1510  font-size: 0.8em; 
     1511  width: 100%; 
     1512} 
     1513#howTable th { 
     1514  color: white; 
     1515  background-color: #999; 
     1516  font-weight: normal; 
     1517} 
     1518#howTable td { 
     1519  white-space: nowrap; 
     1520  border-top: 1px dotted #ccc; 
     1521  border-right: none; 
     1522  border-left: none; 
     1523  border-bottom: none; 
     1524  text-align: center; 
     1525} 
     1526#howTable td.level1 { 
     1527  text-align: left; 
     1528  font-weight: bold; 
     1529} 
     1530#howTable td.level2 { 
     1531  padding-left: 2em; 
     1532  text-align: left; 
     1533  font-weight: bold; 
     1534} 
     1535#howTable td.level3 { 
     1536  padding-left: 4em; 
     1537  text-align: left; 
     1538} 
     1539#howTable td.level4 { 
     1540  padding-left: 6em; 
     1541  text-align: left; 
     1542} 
     1543#howTable td.level5 { 
     1544  padding-left: 8em; 
     1545  text-align: left; 
     1546} 
     1547/* keep the howList items for optional use */ 
    15061548#howList { 
    15071549  margin: 0; 
    15081550  padding: 1em 0; 
    15091551} 
    1510 /*#howList ul { 
     1552#howList ul { 
    15111553  margin: 0 0 0 2em; 
    15121554  padding: 0 0 0.5em 0; 
    1513 }*/ 
     1555} 
    15141556#howList li { 
    15151557  list-style-type: none; 
  • trunk/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl

    r1249 r1262  
    356356    <xsl:if test="/bedework/page='modSchedulingPrefs'"> 
    357357      <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkPrefs.js">&#160;</script> 
     358    </xsl:if> 
     359    <xsl:if test="/bedework/page='modCalendar' or 
     360                  /bedework/page='eventAccess'"> 
     361      <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkAccess.js">&#160;</script> 
    358362    </xsl:if> 
    359363    <xsl:if test="/bedework/page='addEvent' or 
     
    18971901      <xsl:choose> 
    18981902        <xsl:when test="/bedework/creating = 'false'"> 
    1899           <a href="javascript:launchSizedWindow('{$event-showAccess}',600,600)" id="eventAccessLink">set event access</a> 
     1903          <a href="javascript:launchSizedWindow('{$event-showAccess}',600,700)" id="eventAccessLink">set event access</a> 
    19001904        </xsl:when> 
    19011905        <xsl:otherwise> 
     
    41184122        <xsl:with-param name="calPathEncoded" select="$calPathEncoded"/> 
    41194123      </xsl:apply-templates> 
    4120       <form name="calendarShareForm" action="{$calendar-setAccess}" id="shareForm"
     4124      <form name="calendarShareForm" action="{$calendar-setAccess}" id="shareForm" onsubmit="setAccessHow(this)"
    41214125        <input type="hidden" name="calPath" value="{$calPath}"/> 
    4122         <xsl:call-template name="entityAccessForm"/> 
     4126        <xsl:call-template name="entityAccessForm"> 
     4127          <xsl:with-param name="type"> 
     4128            <xsl:choose> 
     4129              <xsl:when test="calType = '5'">inbox</xsl:when> 
     4130              <xsl:when test="calType = '6'">outbox</xsl:when> 
     4131              <xsl:otherwise>normal</xsl:otherwise> 
     4132            </xsl:choose> 
     4133          </xsl:with-param> 
     4134        </xsl:call-template> 
    41234135      </form> 
    41244136    </div> 
     
    63126324          <xsl:with-param name="recurrenceId" select="$recurrenceId"/> 
    63136325        </xsl:apply-templates> 
    6314         <form name="eventShareForm" action="{$event-setAccess}" id="shareForm"
     6326        <form name="eventShareForm" action="{$event-setAccess}" id="shareForm" onsubmit="setAccessHow(this)"
    63156327          <input type="hidden" name="calPath" value="{$calPath}"/> 
    63166328          <input type="hidden" name="guid" value="{$guid}"/> 
     
    63556367 
    63566368  <xsl:template name="entityAccessForm"> 
     6369    <xsl:param name="type"/><!-- optional: 
     6370    currently used for inbox and outbox to conditionally 
     6371    display scheduling access --> 
    63576372    <table cellpadding="0" id="shareFormTable" class="common"> 
    63586373      <tr> 
     
    63756390        <td> 
    63766391          <h5>Rights:</h5> 
     6392          <input type="hidden" name="how" value=""/> 
     6393          <!-- the "how" field is set by iterating over the howItems below --> 
     6394          <table id="howTable" cellspacing="0"> 
     6395            <tr> 
     6396              <th>access type</th> 
     6397              <th>allow</th> 
     6398              <th>deny</th> 
     6399            </tr> 
     6400            <tr> 
     6401              <td class="level1"> 
     6402                <input type="checkbox" value="A" name="howItem" onclick="setupAccessForm(this, this.form)"/>All 
     6403              </td> 
     6404              <td> 
     6405                <input type="radio" value="A" name="A" checked="checked"/> 
     6406              </td> 
     6407              <td> 
     6408                <input type="radio" value="-A" name="A"/> 
     6409              </td> 
     6410            </tr> 
     6411            <tr> 
     6412              <td class="level2"> 
     6413                <input type="checkbox" value="R" name="howItem" onclick="setupAccessForm(this, this.form)" checked="checked"/> Read 
     6414              </td> 
     6415              <td> 
     6416                <input type="radio" value="R" name="R" checked="checked"/> 
     6417              </td> 
     6418              <td> 
     6419                <input type="radio" value="-R" name="R"/> 
     6420              </td> 
     6421            </tr> 
     6422            <tr> 
     6423              <td class="level3"> 
     6424                <input type="checkbox" value="r" name="howItem" disabled="disabled"/> read ACL 
     6425              </td> 
     6426              <td> 
     6427                <input type="radio" value="r" name="r" checked="checked" disabled="disabled"/> 
     6428              </td> 
     6429              <td> 
     6430                <input type="radio" value="-r" name="r" disabled="disabled"/> 
     6431              </td> 
     6432            </tr> 
     6433            <tr> 
     6434              <td class="level3"> 
     6435                <input type="checkbox" value="P" name="howItem" disabled="disabled"/> read current user privilege set 
     6436              </td> 
     6437              <td> 
     6438                <input type="radio" value="P" name="P" checked="checked" disabled="disabled"/> 
     6439              </td> 
     6440              <td> 
     6441                <input type="radio" value="-P" name="P" disabled="disabled"/> 
     6442              </td> 
     6443            </tr> 
     6444            <tr> 
     6445              <td class="level3"> 
     6446                <input type="checkbox" value="F" name="howItem" disabled="disabled"/> read freebusy 
     6447              </td> 
     6448              <td> 
     6449                <input type="radio" value="F" name="F" checked="checked" disabled="disabled"/> 
     6450              </td> 
     6451              <td> 
     6452                <input type="radio" value="-F" name="F" disabled="disabled"/> 
     6453              </td> 
     6454            </tr> 
     6455            <tr> 
     6456              <td class="level2"> 
     6457                <input type="checkbox" value="W" name="howItem" onclick="setupAccessForm(this, this.form)"/> Write 
     6458              </td> 
     6459              <td> 
     6460                <input type="radio" value="W" name="W" checked="checked"/> 
     6461              </td> 
     6462              <td> 
     6463                <input type="radio" value="-W" name="W"/> 
     6464              </td> 
     6465            </tr> 
     6466            <tr> 
     6467              <td class="level3"> 
     6468                <input type="checkbox" value="a" name="howItem"/> write ACL 
     6469              </td> 
     6470              <td> 
     6471                <input type="radio" value="a" name="a" checked="checked"/> 
     6472              </td> 
     6473              <td> 
     6474                <input type="radio" value="-a" name="a"/> 
     6475              </td> 
     6476            </tr> 
     6477            <tr> 
     6478              <td class="level3"> 
     6479                <input type="checkbox" value="p" name="howItem"/> write properties 
     6480              </td> 
     6481              <td> 
     6482                <input type="radio" value="p" name="p" checked="checked"/> 
     6483              </td> 
     6484              <td> 
     6485                <input type="radio" value="-p" name="p"/> 
     6486              </td> 
     6487            </tr> 
     6488            <tr> 
     6489              <td class="level3"> 
     6490                <input type="checkbox" value="c" name="howItem"/> write content 
     6491              </td> 
     6492              <td> 
     6493                <input type="radio" value="c" name="c" checked="checked"/> 
     6494              </td> 
     6495              <td> 
     6496                <input type="radio" value="-c" name="c"/> 
     6497              </td> 
     6498            </tr> 
     6499            <tr> 
     6500              <td class="level3"> 
     6501                <input type="checkbox" value="b" name="howItem" onclick="setupAccessForm(this, this.form)"/> create (bind) 
     6502              </td> 
     6503              <td> 
     6504                <input type="radio" value="b" name="b" checked="checked"/> 
     6505              </td> 
     6506              <td> 
     6507                <input type="radio" value="-b" name="b"/> 
     6508              </td> 
     6509            </tr> 
     6510            <!--<xsl:if test="$type = 'inbox' or $type = 'outbox'">--> 
     6511              <tr> 
     6512                <td class="level4"> 
     6513                  <input type="checkbox" value="S" name="howItem" onclick="setupAccessForm(this, this.form)"/> schedule 
     6514                </td> 
     6515              <td> 
     6516                <input type="radio" value="S" name="S" checked="checked"/> 
     6517              </td> 
     6518              <td> 
     6519                <input type="radio" value="-S" name="S"/> 
     6520              </td> 
     6521              </tr> 
     6522              <tr> 
     6523                <td class="level5"> 
     6524                  <input type="checkbox" value="t" name="howItem"/> schedule request 
     6525                </td> 
     6526              <td> 
     6527                <input type="radio" value="t" name="t" checked="checked"/> 
     6528              </td> 
     6529              <td> 
     6530                <input type="radio" value="-t" name="t"/> 
     6531              </td> 
     6532              </tr> 
     6533              <tr> 
     6534                <td class="level5"> 
     6535                  <input type="checkbox" value="y" name="howItem"/> schedule reply 
     6536                </td> 
     6537              <td> 
     6538                <input type="radio" value="y" name="y" checked="checked"/> 
     6539              </td> 
     6540              <td> 
     6541                <input type="radio" value="-y" name="y"/> 
     6542              </td> 
     6543              </tr> 
     6544              <tr> 
     6545                <td class="level5"> 
     6546                  <input type="checkbox" value="s" name="howItem"/> schedule free-busy 
     6547                </td> 
     6548              <td> 
     6549                <input type="radio" value="s" name="s" checked="checked"/> 
     6550              </td> 
     6551              <td> 
     6552                <input type="radio" value="-s" name="s"/> 
     6553              </td> 
     6554              </tr> 
     6555            <!--</xsl:if>--> 
     6556            <tr> 
     6557              <td class="level3"> 
     6558                 <input type="checkbox" value="u" name="howItem"/> delete (unbind) 
     6559              </td> 
     6560              <td> 
     6561                <input type="radio" value="u" name="u" checked="checked"/> 
     6562              </td> 
     6563              <td> 
     6564                <input type="radio" value="-u" name="u"/> 
     6565              </td> 
     6566            </tr> 
     6567            <!--<tr> 
     6568              <td class="level1"> 
     6569                <input type="checkbox" value="N" name="howItem" onclick="setupAccessForm(this, this.form)"/> None 
     6570              </td> 
     6571              <td> 
     6572              </td> 
     6573              <td> 
     6574              </td> 
     6575            </tr>--> 
     6576          </table> 
     6577 
     6578          <!-- below is a simplified listing using radio buttons only; keep for 
     6579               those who would like a simpler interface (though 
     6580               it is currently less functional; e.g. there is no "deny" setting 
     6581               in the following list) --> 
     6582          <!-- 
    63776583          <ul id="howList"> 
    63786584            <li><input type="radio" value="A" name="how"/> <strong>All</strong> (read, write, delete)</li> 
     
    63986604              <input type="radio" value="N" name="how"/> <strong>None</strong> 
    63996605            </li> 
    6400           </ul> 
     6606          </ul> --> 
    64016607        </td> 
    64026608      </tr> 
     
    64806686          </td> 
    64816687          <td> 
    6482             <xsl:value-of select="name(grant/*)"/> 
    6483             <xsl:if test="deny/all">none</xsl:if> 
     6688            <xsl:if test="grant"> 
     6689              grant: <xsl:value-of select="name(grant/*)"/><br/> 
     6690            </xsl:if> 
     6691            <xsl:if test="deny"> 
     6692              deny: <xsl:value-of select="name(deny/*)"/> 
     6693            </xsl:if> 
    64846694          </td> 
    64856695          <td> 
  • trunk/deployment/webuser/webapp/resources/demoskins/resources/bedework.js

    r1228 r1262  
    135135  formObj.submit(); 
    136136} 
     137// this toggles various elements in the access control form when 
     138// a checkbox for All, Read, Write, Schedule, or None is clicked 
     139function setupAccessForm(val,formObj) { 
     140  switch (val) { 
     141    case "A": 
     142      alert("A"); 
     143      break; 
     144    case "R": 
     145      alert("R"); 
     146      break; 
     147    case "W": 
     148      alert("W"); 
     149      break; 
     150    case "S": 
     151      alert("S"); 
     152      break; 
     153    case "N": 
     154      alert("N"); 
     155      break; 
     156  } 
     157}