Changeset 1124

Show
Ignore:
Timestamp:
12/08/06 12:02:48
Author:
johnsa
Message:

update UI for access control on calendar suites

Files:

Legend:

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

    r1097 r1124  
    426426} 
    427427#shareFormTable { 
    428   width: 96%; /* less than 100% helps avoid IE weirdness */ 
     428  /* width: 96%; less than 100% helps avoid IE weirdness */ 
     429  border-right: 1px solid #666; 
     430
     431#shareFormTable tr.subhead th { 
     432  border-left: 1px solid #666; 
     433  background: #e5e5e5; 
     434  color: black; 
     435  margin: 0; 
     436  padding: 4px; 
    429437} 
    430438#shareFormTable td { 
    431   border: 1px solid #666; 
    432   padding-bottom: 0.5em; 
    433 
    434 #shareFormTable h5 { 
    435   background: #e5e5e5; 
    436   color: black; 
    437   margin: 0 -0.5em; 
    438   padding: 4px; 
     439  border-bottom: 1px solid #666; 
     440  border-left: 1px solid #666; 
     441  padding: 1em; 
     442  vertical-align: top; 
    439443} 
    440444#howList { 
  • trunk/deployment/webadmin/webapp/resources/default/default/default.xsl

    r1120 r1124  
    21862186        <form name="calendarShareForm" action="{$calendar-setAccess}" id="shareForm" method="post"> 
    21872187          <input type="hidden" name="calPath" value="{$calPath}"/> 
    2188           <table cellpadding="0" id="shareFormTable" class="common"> 
     2188          <table cellspacing="0" id="shareFormTable" class="common"> 
    21892189            <tr> 
    21902190              <th colspan="2" class="commonHeader">Set access:</th> 
    21912191            </tr> 
     2192            <tr class="subhead"> 
     2193              <th>Who:</th> 
     2194              <th>Rights:</th> 
     2195            </tr> 
    21922196            <tr> 
    21932197              <td> 
    2194                 <h5>Who:</h5> 
    21952198                <input type="text" name="who" size="20"/> 
    21962199                <br/> 
     
    22112214              </td> 
    22122215              <td> 
    2213                 <h5>Rights:</h5> 
    22142216                <ul id="howList"> 
    22152217                  <li> 
     
    31443146      </table> 
    31453147    </form> 
    3146     <div id="sharingBox"> 
     3148    <!--<div id="sharingBox"> 
    31473149      <h3>Manage suite administrators</h3> 
    31483150      <table class="common"> 
     
    32043206        <input type="submit" name="submit" value="Submit"/> 
    32053207      </form> 
     3208    </div>--> 
     3209 
     3210    <div id="sharingBox"> 
     3211      <xsl:variable name="calPath" select="path"/> 
     3212      <xsl:variable name="encodedCalPath" select="encodedPath"/> 
     3213      <xsl:if test="currentAccess/current-user-privilege-set/privilege/read-acl or /bedeworkadmin/userInfo/superUser='true'"> 
     3214        <h3>Manage suite administrators</h3> 
     3215        <table class="common" id="sharing"> 
     3216          <tr> 
     3217            <th class="commonHeader">Who:</th> 
     3218            <th class="commonHeader">Current access:</th> 
     3219            <th class="commonHeader">Source:</th> 
     3220          </tr> 
     3221          <xsl:for-each select="acl/ace"> 
     3222            <xsl:variable name="who"> 
     3223              <xsl:choose> 
     3224                <xsl:when test="invert"> 
     3225                  <xsl:choose> 
     3226                    <xsl:when test="invert/principal/href"><xsl:value-of select="normalize-space(invert/principal/href)"/></xsl:when> 
     3227                    <xsl:when test="invert/principal/property"><xsl:value-of select="name(invert/principal/property/*)"/></xsl:when> 
     3228                    <xsl:otherwise><xsl:value-of select="name(invert/principal/*)"/></xsl:otherwise> 
     3229                  </xsl:choose> 
     3230                </xsl:when> 
     3231                <xsl:otherwise> 
     3232                  <xsl:choose> 
     3233                    <xsl:when test="principal/href"><xsl:value-of select="normalize-space(principal/href)"/></xsl:when> 
     3234                    <xsl:when test="principal/property"><xsl:value-of select="name(principal/property/*)"/></xsl:when> 
     3235                    <xsl:otherwise><xsl:value-of select="name(principal/*)"/></xsl:otherwise> 
     3236                  </xsl:choose> 
     3237                </xsl:otherwise> 
     3238              </xsl:choose> 
     3239            </xsl:variable> 
     3240            <tr> 
     3241            <th class="thin"> 
     3242                <xsl:if test="invert"> 
     3243                  Not 
     3244                </xsl:if> 
     3245                <xsl:choose> 
     3246                  <xsl:when test="contains($who,/bedeworkadmin/syspars/userPrincipalRoot)"> 
     3247                    <img src="{$resourcesRoot}/resources/userIcon.gif" width="13" height="13" border="0" alt="user"/> 
     3248                    <xsl:value-of select="substring-after(substring-after($who,normalize-space(/bedeworkadmin/syspars/userPrincipalRoot)),'/')"/> 
     3249                  </xsl:when> 
     3250                  <xsl:when test="contains($who,/bedeworkadmin/syspars/groupPrincipalRoot)"> 
     3251                    <img src="{$resourcesRoot}/resources/groupIcon.gif" width="13" height="13" border="0" alt="group"/> 
     3252                    <xsl:value-of select="substring-after(substring-after($who,normalize-space(/bedeworkadmin/syspars/groupPrincipalRoot)),'/')"/> 
     3253                  </xsl:when> 
     3254                  <xsl:when test="invert and $who='owner'"> 
     3255                    <xsl:value-of select="$who"/> (other) 
     3256                  </xsl:when> 
     3257                  <xsl:otherwise> 
     3258                    <xsl:value-of select="$who"/> 
     3259                  </xsl:otherwise> 
     3260                </xsl:choose> 
     3261              </th> 
     3262              <td> 
     3263                <xsl:for-each select="grant/node()"> 
     3264                  <xsl:value-of select="name(.)"/>&#160;&#160; 
     3265                </xsl:for-each> 
     3266                <xsl:for-each select="deny/node()"> 
     3267                  <xsl:choose> 
     3268                    <xsl:when test="name(.)='all'"> 
     3269                      none 
     3270                    </xsl:when> 
     3271                    <xsl:otherwise> 
     3272                      deny-<xsl:value-of select="name(.)"/> 
     3273                    </xsl:otherwise> 
     3274                  </xsl:choose> 
     3275                  &#160;&#160; 
     3276                </xsl:for-each> 
     3277              </td> 
     3278              <td> 
     3279                <xsl:choose> 
     3280                  <xsl:when test="inherited"> 
     3281                    inherited from: 
     3282                    <a> 
     3283                      <xsl:attribute name="href"><xsl:value-of select="$calendar-fetchForUpdate"/>&amp;calPath=<xsl:value-of select="inherited/href"/></xsl:attribute> 
     3284                      <xsl:value-of select="inherited/href"/> 
     3285                    </a> 
     3286                  </xsl:when> 
     3287                  <xsl:otherwise> 
     3288                    local: 
     3289                    <xsl:variable name="whoType"> 
     3290                      <xsl:choose> 
     3291                        <xsl:when test="contains($who,/bedeworkadmin/syspars/userPrincipalRoot)">user</xsl:when> 
     3292                        <xsl:when test="contains($who,/bedeworkadmin/syspars/groupPrincipalRoot)">group</xsl:when> 
     3293                        <xsl:otherwise></xsl:otherwise> 
     3294                      </xsl:choose> 
     3295                    </xsl:variable> 
     3296                    <xsl:variable name="shortWho"> 
     3297                      <xsl:choose> 
     3298                        <xsl:when test="contains($who,/bedeworkadmin/syspars/userPrincipalRoot)"><xsl:value-of select="substring-after(substring-after($who,normalize-space(/bedeworkadmin/syspars/userPrincipalRoot)),'/')"/></xsl:when> 
     3299                        <xsl:when test="contains($who,/bedeworkadmin/syspars/groupPrincipalRoot)"><xsl:value-of select="substring-after(substring-after($who,normalize-space(/bedeworkadmin/syspars/groupPrincipalRoot)),'/')"/></xsl:when> 
     3300                        <xsl:otherwise><xsl:value-of select="$who"/></xsl:otherwise> 
     3301                      </xsl:choose> 
     3302                    </xsl:variable> 
     3303                    <xsl:choose> 
     3304                      <xsl:when test="invert"> 
     3305                        <a href="{$calsuite-setAccess}&amp;calSuiteName={$calSuiteName}&amp;how=default&amp;who={$shortWho}&amp;whoType={$whoType}&amp;notWho=yes"> 
     3306                          reset to default 
     3307                        </a> 
     3308                      </xsl:when> 
     3309                      <xsl:otherwise> 
     3310                        <a href="{$calsuite-setAccess}&amp;calSuiteName={$calSuiteName}&amp;how=default&amp;who={$shortWho}&amp;whoType={$whoType}"> 
     3311                          reset to default 
     3312                        </a> 
     3313                      </xsl:otherwise> 
     3314                    </xsl:choose> 
     3315                  </xsl:otherwise> 
     3316                </xsl:choose> 
     3317              </td> 
     3318            </tr> 
     3319          </xsl:for-each> 
     3320        </table> 
     3321      </xsl:if> 
     3322 
     3323      <xsl:if test="currentAccess/current-user-privilege-set/privilege/write-acl or /bedeworkadmin/userInfo/superUser='true'"> 
     3324        <form name="calsuiteShareForm" action="{$calsuite-setAccess}" id="shareForm" method="post"> 
     3325          <input type="hidden" name="calSuiteName" value="{$calSuiteName}"/> 
     3326          <table cellspacing="0" id="shareFormTable" class="common"> 
     3327            <tr> 
     3328              <th colspan="2" class="commonHeader">Set access:</th> 
     3329            </tr> 
     3330            <tr class="subhead"> 
     3331              <th>Who:</th> 
     3332              <th>Rights:</th> 
     3333            </tr> 
     3334            <tr> 
     3335              <td> 
     3336                <input type="text" name="who" size="20"/> 
     3337                <br/> 
     3338                <input type="radio" value="user" name="whoType" checked="checked"/> user 
     3339                <input type="radio" value="group" name="whoType"/> group 
     3340                <p>OR</p> 
     3341                <p> 
     3342                  <input type="radio" value="auth" name="whoType"/> all authorized users<br/> 
     3343                  <input type="radio" value="other" name="whoType"/> other users<br/> 
     3344                  <input type="radio" value="owner" name="whoType"/> owner 
     3345                </p> 
     3346                <!-- we may never use the invert action ...it is probably 
     3347                     too confusing, and can be achieved in other ways --> 
     3348                <!-- 
     3349                <p class="padTop"> 
     3350                  <input type="checkbox" value="yes" name="notWho"/> invert (deny) 
     3351                </p>--> 
     3352              </td> 
     3353              <td> 
     3354                <ul id="howList"> 
     3355                  <li> 
     3356                    <input type="radio" value="A" name="how"/> 
     3357                    <strong>All</strong> (read, write, delete)</li> 
     3358                  <li class="padTop"> 
     3359                    <input type="radio" value="R" name="how"/> 
     3360                    <strong>Read</strong> (content, access, freebusy) 
     3361                  </li> 
     3362                  <li> 
     3363                    <input type="radio" value="f" name="how"/> Read freebusy only 
     3364                  </li> 
     3365                  <li class="padTop"> 
     3366                    <input type="radio" value="Rc" name="how" checked="checked"/> 
     3367                    <strong>Read</strong> and <strong>Write content only</strong> 
     3368                  </li> 
     3369                  <li class="padTop"> 
     3370                    <input type="radio" value="W" name="how"/> 
     3371                    <strong>Write and delete</strong> (content, access, properties) 
     3372                  </li> 
     3373                  <li> 
     3374                    <input type="radio" value="c" name="how"/> Write content only 
     3375                  </li> 
     3376                  <li> 
     3377                    <input type="radio" value="u" name="how"/> Delete only 
     3378                  </li> 
     3379                  <li class="padTop"> 
     3380                    <input type="radio" value="N" name="how"/> 
     3381                    <strong>None</strong> 
     3382                  </li> 
     3383                </ul> 
     3384              </td> 
     3385            </tr> 
     3386          </table> 
     3387          <input type="submit" name="submit" value="Submit"/> 
     3388        </form> 
     3389      </xsl:if> 
    32063390    </div> 
    32073391  </xsl:template>