Fossil SCM

Some JavaScript coding style updates.

mistachkin 2014-09-27 22:03 UTC inherit-priv-mark-sub
Commit df0e48e0ab0badf2451d09d8242ea04f56caaf65
1 file changed +59 -42
+59 -42
--- src/setup.c
+++ src/setup.c
@@ -490,29 +490,46 @@
490490
@ <input type="hidden" name="login" value="%s(zLogin)">
491491
@ <input type="hidden" name="info" value="">
492492
@ <input type="hidden" name="pw" value="*">
493493
}
494494
@ <script type='text/javascript'>
495
- @ function fossilUpdatePermissionsList(){
496
- @ /* updates #usetupEditCapability with current permissions string based on checkboxes */
497
- @ try {
498
- @ var inputs = document.getElementsByTagName('input'), i, x = 0, e, permsIds = [];
499
- @ if(inputs && inputs.length){
500
- @ for( i = 0; i < inputs.length; ++i ){
501
- @ e = inputs[i];
502
- @ if(e.name && e.type && ('checkbox' === e.type.toLowerCase()) && 2===e.name.length && 'a'===e.name[0]){
503
- @ // looks like a permissions checkbox
504
- @ if(e.checked){
505
- @ permsIds[x++] = e.name[1];
495
+ @ function updateCapabilityString(){
496
+ @ /*
497
+ @ ** This function updates the "#usetupEditCapability" span content
498
+ @ ** with the capabilities selected by the interactive user, based
499
+ @ ** upon the state of the capability checkboxes.
500
+ @ */
501
+ @ try {
502
+ @ var inputs = document.getElementsByTagName('input');
503
+ @ if( inputs && inputs.length ){
504
+ @ var output = document.getElementById('usetupEditCapability');
505
+ @ if( output ){
506
+ @ var permsIds = [], x = 0;
507
+ @ for(var i = 0; i < inputs.length; i++){
508
+ @ var e = inputs[i];
509
+ @ if( !e.name || !e.type ) continue;
510
+ @ if( e.type.toLowerCase()!=='checkbox' ) continue;
511
+ @ if( e.name.length===2 && e.name[0]==='a' ){
512
+ @ // looks like a capability checkbox
513
+ @ if( e.checked ){
514
+ @ // grab the second character of the element
515
+ @ // name, which is the textual flag for this
516
+ @ // capability, and then add it to the result
517
+ @ // array.
518
+ @ permsIds[x++] = e.name[1];
519
+ @ }
520
+ @ }
521
+ @ }
522
+ @ permsIds.sort();
523
+ @ output.innerHTML = permsIds.join('');
506524
@ }
507
- @ }
508525
@ }
526
+ @ } catch (e) {
527
+ @ /* ignore errors */
509528
@ }
510
- @ permsIds.sort();
511
- @ document.getElementById('usetupEditCapability').innerHTML = permsIds.join('');
512
- @ }catch(e){/*ignore errors*/}
513
- @ }</script>
529
+ @ }
530
+ @ </script>
514531
@ <table>
515532
@ <tr>
516533
@ <td class="usetupEditLabel">User ID:</td>
517534
if( uid ){
518535
@ <td>%d(uid) <input type="hidden" name="id" value="%d(uid)" /></td>
@@ -536,62 +553,62 @@
536553
@ <td class="usetupEditLabel">Capabilities:</td>
537554
@ <td>
538555
#define B(x) inherit[x]
539556
@ <table border=0><tr><td valign="top">
540557
if( g.perm.Setup ){
541
- @ <label><input type="checkbox" name="as"%s(oa['s']) onchange="fossilUpdatePermissionsList()"/>
558
+ @ <label><input type="checkbox" name="as"%s(oa['s']) onchange="updateCapabilityString()"/>
542559
@ Setup%s(B('s'))</label><br />
543560
}
544
- @ <label><input type="checkbox" name="aa"%s(oa['a']) onchange="fossilUpdatePermissionsList()" />
561
+ @ <label><input type="checkbox" name="aa"%s(oa['a']) onchange="updateCapabilityString()" />
545562
@ Admin%s(B('a'))</label><br />
546
- @ <label><input type="checkbox" name="ad"%s(oa['d']) onchange="fossilUpdatePermissionsList()" />
563
+ @ <label><input type="checkbox" name="ad"%s(oa['d']) onchange="updateCapabilityString()" />
547564
@ Delete%s(B('d'))</label><br />
548
- @ <label><input type="checkbox" name="ae"%s(oa['e']) onchange="fossilUpdatePermissionsList()" />
565
+ @ <label><input type="checkbox" name="ae"%s(oa['e']) onchange="updateCapabilityString()" />
549566
@ Email%s(B('e'))</label><br />
550
- @ <label><input type="checkbox" name="ap"%s(oa['p']) onchange="fossilUpdatePermissionsList()" />
567
+ @ <label><input type="checkbox" name="ap"%s(oa['p']) onchange="updateCapabilityString()" />
551568
@ Password%s(B('p'))</label><br />
552
- @ <label><input type="checkbox" name="ai"%s(oa['i']) onchange="fossilUpdatePermissionsList()" />
569
+ @ <label><input type="checkbox" name="ai"%s(oa['i']) onchange="updateCapabilityString()" />
553570
@ Check-In%s(B('i'))</label><br />
554
- @ <label><input type="checkbox" name="ao"%s(oa['o']) onchange="fossilUpdatePermissionsList()" />
571
+ @ <label><input type="checkbox" name="ao"%s(oa['o']) onchange="updateCapabilityString()" />
555572
@ Check-Out%s(B('o'))</label><br />
556
- @ <label><input type="checkbox" name="ah"%s(oa['h']) onchange="fossilUpdatePermissionsList()" />
573
+ @ <label><input type="checkbox" name="ah"%s(oa['h']) onchange="updateCapabilityString()" />
557574
@ Hyperlinks%s(B('h'))</label><br />
558
- @ <label><input type="checkbox" name="ab"%s(oa['b']) onchange="fossilUpdatePermissionsList()" />
575
+ @ <label><input type="checkbox" name="ab"%s(oa['b']) onchange="updateCapabilityString()" />
559576
@ Attachments%s(B('b'))</label><br />
560577
@ </td><td><td width="40"></td><td valign="top">
561
- @ <label><input type="checkbox" name="au"%s(oa['u']) onchange="fossilUpdatePermissionsList()" />
578
+ @ <label><input type="checkbox" name="au"%s(oa['u']) onchange="updateCapabilityString()" />
562579
@ Reader%s(B('u'))</label><br />
563
- @ <label><input type="checkbox" name="av"%s(oa['v']) onchange="fossilUpdatePermissionsList()" />
580
+ @ <label><input type="checkbox" name="av"%s(oa['v']) onchange="updateCapabilityString()" />
564581
@ Developer%s(B('v'))</label><br />
565
- @ <label><input type="checkbox" name="ag"%s(oa['g']) onchange="fossilUpdatePermissionsList()" />
582
+ @ <label><input type="checkbox" name="ag"%s(oa['g']) onchange="updateCapabilityString()" />
566583
@ Clone%s(B('g'))</label><br />
567
- @ <label><input type="checkbox" name="aj"%s(oa['j']) onchange="fossilUpdatePermissionsList()" />
584
+ @ <label><input type="checkbox" name="aj"%s(oa['j']) onchange="updateCapabilityString()" />
568585
@ Read Wiki%s(B('j'))</label><br />
569
- @ <label><input type="checkbox" name="af"%s(oa['f']) onchange="fossilUpdatePermissionsList()" />
586
+ @ <label><input type="checkbox" name="af"%s(oa['f']) onchange="updateCapabilityString()" />
570587
@ New Wiki%s(B('f'))</label><br />
571
- @ <label><input type="checkbox" name="am"%s(oa['m']) onchange="fossilUpdatePermissionsList()" />
588
+ @ <label><input type="checkbox" name="am"%s(oa['m']) onchange="updateCapabilityString()" />
572589
@ Append Wiki%s(B('m'))</label><br />
573
- @ <label><input type="checkbox" name="ak"%s(oa['k']) onchange="fossilUpdatePermissionsList()" />
590
+ @ <label><input type="checkbox" name="ak"%s(oa['k']) onchange="updateCapabilityString()" />
574591
@ Write Wiki%s(B('k'))</label><br />
575
- @ <label><input type="checkbox" name="al"%s(oa['l']) onchange="fossilUpdatePermissionsList()" />
592
+ @ <label><input type="checkbox" name="al"%s(oa['l']) onchange="updateCapabilityString()" />
576593
@ Moderate Wiki%s(B('l'))</label><br />
577594
@ </td><td><td width="40"></td><td valign="top">
578
- @ <label><input type="checkbox" name="ar"%s(oa['r']) onchange="fossilUpdatePermissionsList()" />
595
+ @ <label><input type="checkbox" name="ar"%s(oa['r']) onchange="updateCapabilityString()" />
579596
@ Read Ticket%s(B('r'))</label><br />
580
- @ <label><input type="checkbox" name="an"%s(oa['n']) onchange="fossilUpdatePermissionsList()" />
597
+ @ <label><input type="checkbox" name="an"%s(oa['n']) onchange="updateCapabilityString()" />
581598
@ New Tickets%s(B('n'))</label><br />
582
- @ <label><input type="checkbox" name="ac"%s(oa['c']) onchange="fossilUpdatePermissionsList()" />
599
+ @ <label><input type="checkbox" name="ac"%s(oa['c']) onchange="updateCapabilityString()" />
583600
@ Append To Ticket%s(B('c'))</label><br />
584
- @ <label><input type="checkbox" name="aw"%s(oa['w']) onchange="fossilUpdatePermissionsList()" />
601
+ @ <label><input type="checkbox" name="aw"%s(oa['w']) onchange="updateCapabilityString()" />
585602
@ Write Tickets%s(B('w'))</label><br />
586
- @ <label><input type="checkbox" name="aq"%s(oa['q']) onchange="fossilUpdatePermissionsList()" />
603
+ @ <label><input type="checkbox" name="aq"%s(oa['q']) onchange="updateCapabilityString()" />
587604
@ Moderate Tickets%s(B('q'))</label><br />
588
- @ <label><input type="checkbox" name="at"%s(oa['t']) onchange="fossilUpdatePermissionsList()" />
605
+ @ <label><input type="checkbox" name="at"%s(oa['t']) onchange="updateCapabilityString()" />
589606
@ Ticket Report%s(B('t'))</label><br />
590
- @ <label><input type="checkbox" name="ax"%s(oa['x']) onchange="fossilUpdatePermissionsList()" />
607
+ @ <label><input type="checkbox" name="ax"%s(oa['x']) onchange="updateCapabilityString()" />
591608
@ Private%s(B('x'))</label><br />
592
- @ <label><input type="checkbox" name="az"%s(oa['z']) onchange="fossilUpdatePermissionsList()" />
609
+ @ <label><input type="checkbox" name="az"%s(oa['z']) onchange="updateCapabilityString()" />
593610
@ Download Zip%s(B('z'))</label>
594611
@ </td></tr>
595612
@ </table>
596613
@ </td>
597614
@ </tr>
@@ -631,11 +648,11 @@
631648
@ </tr>
632649
}
633650
@ </table>
634651
@ </div></form>
635652
@ </div>
636
- @ <script type='text/javascript'>fossilUpdatePermissionsList();</script>
653
+ @ <script type='text/javascript'>updateCapabilityString();</script>
637654
@ <h2>Privileges And Capabilities:</h2>
638655
@ <ul>
639656
if( higherUser ){
640657
@ <li><p class="missingPriv">
641658
@ User %h(zLogin) has Setup privileges and you only have Admin privileges
642659
--- src/setup.c
+++ src/setup.c
@@ -490,29 +490,46 @@
490 @ <input type="hidden" name="login" value="%s(zLogin)">
491 @ <input type="hidden" name="info" value="">
492 @ <input type="hidden" name="pw" value="*">
493 }
494 @ <script type='text/javascript'>
495 @ function fossilUpdatePermissionsList(){
496 @ /* updates #usetupEditCapability with current permissions string based on checkboxes */
497 @ try {
498 @ var inputs = document.getElementsByTagName('input'), i, x = 0, e, permsIds = [];
499 @ if(inputs && inputs.length){
500 @ for( i = 0; i < inputs.length; ++i ){
501 @ e = inputs[i];
502 @ if(e.name && e.type && ('checkbox' === e.type.toLowerCase()) && 2===e.name.length && 'a'===e.name[0]){
503 @ // looks like a permissions checkbox
504 @ if(e.checked){
505 @ permsIds[x++] = e.name[1];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
506 @ }
507 @ }
508 @ }
 
 
509 @ }
510 @ permsIds.sort();
511 @ document.getElementById('usetupEditCapability').innerHTML = permsIds.join('');
512 @ }catch(e){/*ignore errors*/}
513 @ }</script>
514 @ <table>
515 @ <tr>
516 @ <td class="usetupEditLabel">User ID:</td>
517 if( uid ){
518 @ <td>%d(uid) <input type="hidden" name="id" value="%d(uid)" /></td>
@@ -536,62 +553,62 @@
536 @ <td class="usetupEditLabel">Capabilities:</td>
537 @ <td>
538 #define B(x) inherit[x]
539 @ <table border=0><tr><td valign="top">
540 if( g.perm.Setup ){
541 @ <label><input type="checkbox" name="as"%s(oa['s']) onchange="fossilUpdatePermissionsList()"/>
542 @ Setup%s(B('s'))</label><br />
543 }
544 @ <label><input type="checkbox" name="aa"%s(oa['a']) onchange="fossilUpdatePermissionsList()" />
545 @ Admin%s(B('a'))</label><br />
546 @ <label><input type="checkbox" name="ad"%s(oa['d']) onchange="fossilUpdatePermissionsList()" />
547 @ Delete%s(B('d'))</label><br />
548 @ <label><input type="checkbox" name="ae"%s(oa['e']) onchange="fossilUpdatePermissionsList()" />
549 @ Email%s(B('e'))</label><br />
550 @ <label><input type="checkbox" name="ap"%s(oa['p']) onchange="fossilUpdatePermissionsList()" />
551 @ Password%s(B('p'))</label><br />
552 @ <label><input type="checkbox" name="ai"%s(oa['i']) onchange="fossilUpdatePermissionsList()" />
553 @ Check-In%s(B('i'))</label><br />
554 @ <label><input type="checkbox" name="ao"%s(oa['o']) onchange="fossilUpdatePermissionsList()" />
555 @ Check-Out%s(B('o'))</label><br />
556 @ <label><input type="checkbox" name="ah"%s(oa['h']) onchange="fossilUpdatePermissionsList()" />
557 @ Hyperlinks%s(B('h'))</label><br />
558 @ <label><input type="checkbox" name="ab"%s(oa['b']) onchange="fossilUpdatePermissionsList()" />
559 @ Attachments%s(B('b'))</label><br />
560 @ </td><td><td width="40"></td><td valign="top">
561 @ <label><input type="checkbox" name="au"%s(oa['u']) onchange="fossilUpdatePermissionsList()" />
562 @ Reader%s(B('u'))</label><br />
563 @ <label><input type="checkbox" name="av"%s(oa['v']) onchange="fossilUpdatePermissionsList()" />
564 @ Developer%s(B('v'))</label><br />
565 @ <label><input type="checkbox" name="ag"%s(oa['g']) onchange="fossilUpdatePermissionsList()" />
566 @ Clone%s(B('g'))</label><br />
567 @ <label><input type="checkbox" name="aj"%s(oa['j']) onchange="fossilUpdatePermissionsList()" />
568 @ Read Wiki%s(B('j'))</label><br />
569 @ <label><input type="checkbox" name="af"%s(oa['f']) onchange="fossilUpdatePermissionsList()" />
570 @ New Wiki%s(B('f'))</label><br />
571 @ <label><input type="checkbox" name="am"%s(oa['m']) onchange="fossilUpdatePermissionsList()" />
572 @ Append Wiki%s(B('m'))</label><br />
573 @ <label><input type="checkbox" name="ak"%s(oa['k']) onchange="fossilUpdatePermissionsList()" />
574 @ Write Wiki%s(B('k'))</label><br />
575 @ <label><input type="checkbox" name="al"%s(oa['l']) onchange="fossilUpdatePermissionsList()" />
576 @ Moderate Wiki%s(B('l'))</label><br />
577 @ </td><td><td width="40"></td><td valign="top">
578 @ <label><input type="checkbox" name="ar"%s(oa['r']) onchange="fossilUpdatePermissionsList()" />
579 @ Read Ticket%s(B('r'))</label><br />
580 @ <label><input type="checkbox" name="an"%s(oa['n']) onchange="fossilUpdatePermissionsList()" />
581 @ New Tickets%s(B('n'))</label><br />
582 @ <label><input type="checkbox" name="ac"%s(oa['c']) onchange="fossilUpdatePermissionsList()" />
583 @ Append To Ticket%s(B('c'))</label><br />
584 @ <label><input type="checkbox" name="aw"%s(oa['w']) onchange="fossilUpdatePermissionsList()" />
585 @ Write Tickets%s(B('w'))</label><br />
586 @ <label><input type="checkbox" name="aq"%s(oa['q']) onchange="fossilUpdatePermissionsList()" />
587 @ Moderate Tickets%s(B('q'))</label><br />
588 @ <label><input type="checkbox" name="at"%s(oa['t']) onchange="fossilUpdatePermissionsList()" />
589 @ Ticket Report%s(B('t'))</label><br />
590 @ <label><input type="checkbox" name="ax"%s(oa['x']) onchange="fossilUpdatePermissionsList()" />
591 @ Private%s(B('x'))</label><br />
592 @ <label><input type="checkbox" name="az"%s(oa['z']) onchange="fossilUpdatePermissionsList()" />
593 @ Download Zip%s(B('z'))</label>
594 @ </td></tr>
595 @ </table>
596 @ </td>
597 @ </tr>
@@ -631,11 +648,11 @@
631 @ </tr>
632 }
633 @ </table>
634 @ </div></form>
635 @ </div>
636 @ <script type='text/javascript'>fossilUpdatePermissionsList();</script>
637 @ <h2>Privileges And Capabilities:</h2>
638 @ <ul>
639 if( higherUser ){
640 @ <li><p class="missingPriv">
641 @ User %h(zLogin) has Setup privileges and you only have Admin privileges
642
--- src/setup.c
+++ src/setup.c
@@ -490,29 +490,46 @@
490 @ <input type="hidden" name="login" value="%s(zLogin)">
491 @ <input type="hidden" name="info" value="">
492 @ <input type="hidden" name="pw" value="*">
493 }
494 @ <script type='text/javascript'>
495 @ function updateCapabilityString(){
496 @ /*
497 @ ** This function updates the "#usetupEditCapability" span content
498 @ ** with the capabilities selected by the interactive user, based
499 @ ** upon the state of the capability checkboxes.
500 @ */
501 @ try {
502 @ var inputs = document.getElementsByTagName('input');
503 @ if( inputs && inputs.length ){
504 @ var output = document.getElementById('usetupEditCapability');
505 @ if( output ){
506 @ var permsIds = [], x = 0;
507 @ for(var i = 0; i < inputs.length; i++){
508 @ var e = inputs[i];
509 @ if( !e.name || !e.type ) continue;
510 @ if( e.type.toLowerCase()!=='checkbox' ) continue;
511 @ if( e.name.length===2 && e.name[0]==='a' ){
512 @ // looks like a capability checkbox
513 @ if( e.checked ){
514 @ // grab the second character of the element
515 @ // name, which is the textual flag for this
516 @ // capability, and then add it to the result
517 @ // array.
518 @ permsIds[x++] = e.name[1];
519 @ }
520 @ }
521 @ }
522 @ permsIds.sort();
523 @ output.innerHTML = permsIds.join('');
524 @ }
 
525 @ }
526 @ } catch (e) {
527 @ /* ignore errors */
528 @ }
529 @ }
530 @ </script>
 
 
531 @ <table>
532 @ <tr>
533 @ <td class="usetupEditLabel">User ID:</td>
534 if( uid ){
535 @ <td>%d(uid) <input type="hidden" name="id" value="%d(uid)" /></td>
@@ -536,62 +553,62 @@
553 @ <td class="usetupEditLabel">Capabilities:</td>
554 @ <td>
555 #define B(x) inherit[x]
556 @ <table border=0><tr><td valign="top">
557 if( g.perm.Setup ){
558 @ <label><input type="checkbox" name="as"%s(oa['s']) onchange="updateCapabilityString()"/>
559 @ Setup%s(B('s'))</label><br />
560 }
561 @ <label><input type="checkbox" name="aa"%s(oa['a']) onchange="updateCapabilityString()" />
562 @ Admin%s(B('a'))</label><br />
563 @ <label><input type="checkbox" name="ad"%s(oa['d']) onchange="updateCapabilityString()" />
564 @ Delete%s(B('d'))</label><br />
565 @ <label><input type="checkbox" name="ae"%s(oa['e']) onchange="updateCapabilityString()" />
566 @ Email%s(B('e'))</label><br />
567 @ <label><input type="checkbox" name="ap"%s(oa['p']) onchange="updateCapabilityString()" />
568 @ Password%s(B('p'))</label><br />
569 @ <label><input type="checkbox" name="ai"%s(oa['i']) onchange="updateCapabilityString()" />
570 @ Check-In%s(B('i'))</label><br />
571 @ <label><input type="checkbox" name="ao"%s(oa['o']) onchange="updateCapabilityString()" />
572 @ Check-Out%s(B('o'))</label><br />
573 @ <label><input type="checkbox" name="ah"%s(oa['h']) onchange="updateCapabilityString()" />
574 @ Hyperlinks%s(B('h'))</label><br />
575 @ <label><input type="checkbox" name="ab"%s(oa['b']) onchange="updateCapabilityString()" />
576 @ Attachments%s(B('b'))</label><br />
577 @ </td><td><td width="40"></td><td valign="top">
578 @ <label><input type="checkbox" name="au"%s(oa['u']) onchange="updateCapabilityString()" />
579 @ Reader%s(B('u'))</label><br />
580 @ <label><input type="checkbox" name="av"%s(oa['v']) onchange="updateCapabilityString()" />
581 @ Developer%s(B('v'))</label><br />
582 @ <label><input type="checkbox" name="ag"%s(oa['g']) onchange="updateCapabilityString()" />
583 @ Clone%s(B('g'))</label><br />
584 @ <label><input type="checkbox" name="aj"%s(oa['j']) onchange="updateCapabilityString()" />
585 @ Read Wiki%s(B('j'))</label><br />
586 @ <label><input type="checkbox" name="af"%s(oa['f']) onchange="updateCapabilityString()" />
587 @ New Wiki%s(B('f'))</label><br />
588 @ <label><input type="checkbox" name="am"%s(oa['m']) onchange="updateCapabilityString()" />
589 @ Append Wiki%s(B('m'))</label><br />
590 @ <label><input type="checkbox" name="ak"%s(oa['k']) onchange="updateCapabilityString()" />
591 @ Write Wiki%s(B('k'))</label><br />
592 @ <label><input type="checkbox" name="al"%s(oa['l']) onchange="updateCapabilityString()" />
593 @ Moderate Wiki%s(B('l'))</label><br />
594 @ </td><td><td width="40"></td><td valign="top">
595 @ <label><input type="checkbox" name="ar"%s(oa['r']) onchange="updateCapabilityString()" />
596 @ Read Ticket%s(B('r'))</label><br />
597 @ <label><input type="checkbox" name="an"%s(oa['n']) onchange="updateCapabilityString()" />
598 @ New Tickets%s(B('n'))</label><br />
599 @ <label><input type="checkbox" name="ac"%s(oa['c']) onchange="updateCapabilityString()" />
600 @ Append To Ticket%s(B('c'))</label><br />
601 @ <label><input type="checkbox" name="aw"%s(oa['w']) onchange="updateCapabilityString()" />
602 @ Write Tickets%s(B('w'))</label><br />
603 @ <label><input type="checkbox" name="aq"%s(oa['q']) onchange="updateCapabilityString()" />
604 @ Moderate Tickets%s(B('q'))</label><br />
605 @ <label><input type="checkbox" name="at"%s(oa['t']) onchange="updateCapabilityString()" />
606 @ Ticket Report%s(B('t'))</label><br />
607 @ <label><input type="checkbox" name="ax"%s(oa['x']) onchange="updateCapabilityString()" />
608 @ Private%s(B('x'))</label><br />
609 @ <label><input type="checkbox" name="az"%s(oa['z']) onchange="updateCapabilityString()" />
610 @ Download Zip%s(B('z'))</label>
611 @ </td></tr>
612 @ </table>
613 @ </td>
614 @ </tr>
@@ -631,11 +648,11 @@
648 @ </tr>
649 }
650 @ </table>
651 @ </div></form>
652 @ </div>
653 @ <script type='text/javascript'>updateCapabilityString();</script>
654 @ <h2>Privileges And Capabilities:</h2>
655 @ <ul>
656 if( higherUser ){
657 @ <li><p class="missingPriv">
658 @ User %h(zLogin) has Setup privileges and you only have Admin privileges
659

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button