Fossil SCM

Omit the 'd' capability (the ability to delete wiki and tickets). This capability does not do anything. Apparently, it is a hold-over from the old CVSTrac code.

drh 2020-03-12 10:50 trunk
Commit 3941824d8547d8c78c310bbfba0b896e65b9579eec37351d697cf4d86f351833
--- src/capabilities.c
+++ src/capabilities.c
@@ -242,12 +242,14 @@
242242
"Admin", "Create and delete users" },
243243
{ 'b', CAPCLASS_WIKI|CAPCLASS_TKT, 0,
244244
"Attach", "Add attchments to wiki or tickets" },
245245
{ 'c', CAPCLASS_TKT, 0,
246246
"Append-Tkt", "Append to existing tickets" },
247
+#if 0 /* Not Used */
247248
{ 'd', CAPCLASS_WIKI|CAPCLASS_TKT, 0,
248249
"Delete", "Delete wiki or tickets" },
250
+#endif
249251
{ 'e', CAPCLASS_DATA, 0,
250252
"View-PII", "View sensitive info such as email addresses" },
251253
{ 'f', CAPCLASS_WIKI, 0,
252254
"New-Wiki", "Create new wiki pages" },
253255
{ 'g', CAPCLASS_DATA, 0,
@@ -430,11 +432,11 @@
430432
eType = 0;
431433
}
432434
@ <td class="%s(azClass[eType])">%s(azType[eType])</td>
433435
434436
/* Ticket */
435
- if( sqlite3_strglob("*[ascdnqtw]*",zCap)==0 ){
437
+ if( sqlite3_strglob("*[ascnqtw]*",zCap)==0 ){
436438
eType = 2;
437439
}else if( sqlite3_strglob("*r*",zCap)==0 ){
438440
eType = 1;
439441
}else{
440442
eType = 0;
441443
--- src/capabilities.c
+++ src/capabilities.c
@@ -242,12 +242,14 @@
242 "Admin", "Create and delete users" },
243 { 'b', CAPCLASS_WIKI|CAPCLASS_TKT, 0,
244 "Attach", "Add attchments to wiki or tickets" },
245 { 'c', CAPCLASS_TKT, 0,
246 "Append-Tkt", "Append to existing tickets" },
 
247 { 'd', CAPCLASS_WIKI|CAPCLASS_TKT, 0,
248 "Delete", "Delete wiki or tickets" },
 
249 { 'e', CAPCLASS_DATA, 0,
250 "View-PII", "View sensitive info such as email addresses" },
251 { 'f', CAPCLASS_WIKI, 0,
252 "New-Wiki", "Create new wiki pages" },
253 { 'g', CAPCLASS_DATA, 0,
@@ -430,11 +432,11 @@
430 eType = 0;
431 }
432 @ <td class="%s(azClass[eType])">%s(azType[eType])</td>
433
434 /* Ticket */
435 if( sqlite3_strglob("*[ascdnqtw]*",zCap)==0 ){
436 eType = 2;
437 }else if( sqlite3_strglob("*r*",zCap)==0 ){
438 eType = 1;
439 }else{
440 eType = 0;
441
--- src/capabilities.c
+++ src/capabilities.c
@@ -242,12 +242,14 @@
242 "Admin", "Create and delete users" },
243 { 'b', CAPCLASS_WIKI|CAPCLASS_TKT, 0,
244 "Attach", "Add attchments to wiki or tickets" },
245 { 'c', CAPCLASS_TKT, 0,
246 "Append-Tkt", "Append to existing tickets" },
247 #if 0 /* Not Used */
248 { 'd', CAPCLASS_WIKI|CAPCLASS_TKT, 0,
249 "Delete", "Delete wiki or tickets" },
250 #endif
251 { 'e', CAPCLASS_DATA, 0,
252 "View-PII", "View sensitive info such as email addresses" },
253 { 'f', CAPCLASS_WIKI, 0,
254 "New-Wiki", "Create new wiki pages" },
255 { 'g', CAPCLASS_DATA, 0,
@@ -430,11 +432,11 @@
432 eType = 0;
433 }
434 @ <td class="%s(azClass[eType])">%s(azType[eType])</td>
435
436 /* Ticket */
437 if( sqlite3_strglob("*[ascnqtw]*",zCap)==0 ){
438 eType = 2;
439 }else if( sqlite3_strglob("*r*",zCap)==0 ){
440 eType = 1;
441 }else{
442 eType = 0;
443
+2 -2
--- src/login.c
+++ src/login.c
@@ -1236,11 +1236,11 @@
12361236
/* Fall thru into Read/Write */
12371237
case 'i': p->Read = p->Write = 1; break;
12381238
case 'o': p->Read = 1; break;
12391239
case 'z': p->Zip = 1; break;
12401240
1241
- case 'd': p->Delete = 1; break;
1241
+ case 'd': p->Delete = 1; /* Not Used */ break;
12421242
case 'h': p->Hyperlink = 1; break;
12431243
case 'g': p->Clone = 1; break;
12441244
case 'p': p->Password = 1; break;
12451245
12461246
case 'j': p->RdWiki = 1; break;
@@ -1320,11 +1320,11 @@
13201320
for(i=0; i<nCap && rc && zCap[i]; i++){
13211321
switch( zCap[i] ){
13221322
case 'a': rc = p->Admin; break;
13231323
case 'b': rc = p->Attach; break;
13241324
case 'c': rc = p->ApndTkt; break;
1325
- case 'd': rc = p->Delete; break;
1325
+ case 'd': rc = p->Delete; break; /* Not used */
13261326
case 'e': rc = p->RdAddr; break;
13271327
case 'f': rc = p->NewWiki; break;
13281328
case 'g': rc = p->Clone; break;
13291329
case 'h': rc = p->Hyperlink; break;
13301330
case 'i': rc = p->Write; break;
13311331
--- src/login.c
+++ src/login.c
@@ -1236,11 +1236,11 @@
1236 /* Fall thru into Read/Write */
1237 case 'i': p->Read = p->Write = 1; break;
1238 case 'o': p->Read = 1; break;
1239 case 'z': p->Zip = 1; break;
1240
1241 case 'd': p->Delete = 1; break;
1242 case 'h': p->Hyperlink = 1; break;
1243 case 'g': p->Clone = 1; break;
1244 case 'p': p->Password = 1; break;
1245
1246 case 'j': p->RdWiki = 1; break;
@@ -1320,11 +1320,11 @@
1320 for(i=0; i<nCap && rc && zCap[i]; i++){
1321 switch( zCap[i] ){
1322 case 'a': rc = p->Admin; break;
1323 case 'b': rc = p->Attach; break;
1324 case 'c': rc = p->ApndTkt; break;
1325 case 'd': rc = p->Delete; break;
1326 case 'e': rc = p->RdAddr; break;
1327 case 'f': rc = p->NewWiki; break;
1328 case 'g': rc = p->Clone; break;
1329 case 'h': rc = p->Hyperlink; break;
1330 case 'i': rc = p->Write; break;
1331
--- src/login.c
+++ src/login.c
@@ -1236,11 +1236,11 @@
1236 /* Fall thru into Read/Write */
1237 case 'i': p->Read = p->Write = 1; break;
1238 case 'o': p->Read = 1; break;
1239 case 'z': p->Zip = 1; break;
1240
1241 case 'd': p->Delete = 1; /* Not Used */ break;
1242 case 'h': p->Hyperlink = 1; break;
1243 case 'g': p->Clone = 1; break;
1244 case 'p': p->Password = 1; break;
1245
1246 case 'j': p->RdWiki = 1; break;
@@ -1320,11 +1320,11 @@
1320 for(i=0; i<nCap && rc && zCap[i]; i++){
1321 switch( zCap[i] ){
1322 case 'a': rc = p->Admin; break;
1323 case 'b': rc = p->Attach; break;
1324 case 'c': rc = p->ApndTkt; break;
1325 case 'd': rc = p->Delete; break; /* Not used */
1326 case 'e': rc = p->RdAddr; break;
1327 case 'f': rc = p->NewWiki; break;
1328 case 'g': rc = p->Clone; break;
1329 case 'h': rc = p->Hyperlink; break;
1330 case 'i': rc = p->Write; break;
1331
+1 -1
--- src/main.c
+++ src/main.c
@@ -78,11 +78,11 @@
7878
** Holds flags for fossil user permissions.
7979
*/
8080
struct FossilUserPerms {
8181
char Setup; /* s: use Setup screens on web interface */
8282
char Admin; /* a: administrative permission */
83
- char Delete; /* d: delete wiki or tickets */
83
+ char Delete; /* d: delete wiki or tickets - Not Used */
8484
char Password; /* p: change password */
8585
char Query; /* q: create new reports */
8686
char Write; /* i: xfer inbound. check-in */
8787
char Read; /* o: xfer outbound. check-out */
8888
char Hyperlink; /* h: enable the display of hyperlinks */
8989
--- src/main.c
+++ src/main.c
@@ -78,11 +78,11 @@
78 ** Holds flags for fossil user permissions.
79 */
80 struct FossilUserPerms {
81 char Setup; /* s: use Setup screens on web interface */
82 char Admin; /* a: administrative permission */
83 char Delete; /* d: delete wiki or tickets */
84 char Password; /* p: change password */
85 char Query; /* q: create new reports */
86 char Write; /* i: xfer inbound. check-in */
87 char Read; /* o: xfer outbound. check-out */
88 char Hyperlink; /* h: enable the display of hyperlinks */
89
--- src/main.c
+++ src/main.c
@@ -78,11 +78,11 @@
78 ** Holds flags for fossil user permissions.
79 */
80 struct FossilUserPerms {
81 char Setup; /* s: use Setup screens on web interface */
82 char Admin; /* a: administrative permission */
83 char Delete; /* d: delete wiki or tickets - Not Used */
84 char Password; /* p: change password */
85 char Query; /* q: create new reports */
86 char Write; /* i: xfer inbound. check-in */
87 char Read; /* o: xfer outbound. check-out */
88 char Hyperlink; /* h: enable the display of hyperlinks */
89
--- src/setupuser.c
+++ src/setupuser.c
@@ -550,12 +550,14 @@
550550
@ Admin%s(B('a'))</label>
551551
@ <li><label><input type="checkbox" name="au"%s(oa['u']) />
552552
@ Reader%s(B('u'))</label>
553553
@ <li><label><input type="checkbox" name="av"%s(oa['v']) />
554554
@ Developer%s(B('v'))</label>
555
+#if 0 /* Not Used */
555556
@ <li><label><input type="checkbox" name="ad"%s(oa['d']) />
556557
@ Delete%s(B('d'))</label>
558
+#endif
557559
@ <li><label><input type="checkbox" name="ae"%s(oa['e']) />
558560
@ View-PII%s(B('e'))</label>
559561
@ <li><label><input type="checkbox" name="ap"%s(oa['p']) />
560562
@ Password%s(B('p'))</label>
561563
@ <li><label><input type="checkbox" name="ai"%s(oa['i']) />
562564
--- src/setupuser.c
+++ src/setupuser.c
@@ -550,12 +550,14 @@
550 @ Admin%s(B('a'))</label>
551 @ <li><label><input type="checkbox" name="au"%s(oa['u']) />
552 @ Reader%s(B('u'))</label>
553 @ <li><label><input type="checkbox" name="av"%s(oa['v']) />
554 @ Developer%s(B('v'))</label>
 
555 @ <li><label><input type="checkbox" name="ad"%s(oa['d']) />
556 @ Delete%s(B('d'))</label>
 
557 @ <li><label><input type="checkbox" name="ae"%s(oa['e']) />
558 @ View-PII%s(B('e'))</label>
559 @ <li><label><input type="checkbox" name="ap"%s(oa['p']) />
560 @ Password%s(B('p'))</label>
561 @ <li><label><input type="checkbox" name="ai"%s(oa['i']) />
562
--- src/setupuser.c
+++ src/setupuser.c
@@ -550,12 +550,14 @@
550 @ Admin%s(B('a'))</label>
551 @ <li><label><input type="checkbox" name="au"%s(oa['u']) />
552 @ Reader%s(B('u'))</label>
553 @ <li><label><input type="checkbox" name="av"%s(oa['v']) />
554 @ Developer%s(B('v'))</label>
555 #if 0 /* Not Used */
556 @ <li><label><input type="checkbox" name="ad"%s(oa['d']) />
557 @ Delete%s(B('d'))</label>
558 #endif
559 @ <li><label><input type="checkbox" name="ae"%s(oa['e']) />
560 @ View-PII%s(B('e'))</label>
561 @ <li><label><input type="checkbox" name="ap"%s(oa['p']) />
562 @ Password%s(B('p'))</label>
563 @ <li><label><input type="checkbox" name="ai"%s(oa['i']) />
564

Keyboard Shortcuts

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