Fossil SCM

Do not render "Check-ins" button within a submenu of /tktview, /tkthistory, /tkttimeline and /info pages, unless a user actually has a [/doc/trunk/www/caps/ref.html#o|capability to read check-ins]. This should prevent confusion and save some screen space.

george 2023-03-26 23:54 trunk
Commit c04c814e10860bc3c0bc54f4a70c24dda551a802395b7c0b7a95a2dc732f8bc1
1 file changed +9 -3
+9 -3
--- src/tkt.c
+++ src/tkt.c
@@ -733,11 +733,13 @@
733733
if( g.anon.WrTkt || g.anon.ApndTkt ){
734734
style_submenu_element("Edit", "%R/tktedit/%T", PD("name",""));
735735
}
736736
if( g.perm.Hyperlink ){
737737
style_submenu_element("History", "%R/tkthistory/%T", zUuid);
738
- style_submenu_element("Check-ins", "%R/tkttimeline/%T?y=ci", zUuid);
738
+ if( g.perm.Read ){
739
+ style_submenu_element("Check-ins", "%R/tkttimeline/%T?y=ci", zUuid);
740
+ }
739741
}
740742
if( g.anon.NewTkt ){
741743
style_submenu_element("New Ticket", "%R/tktnew");
742744
}
743745
if( g.anon.ApndTkt && g.anon.Attach ){
@@ -1224,11 +1226,13 @@
12241226
return;
12251227
}
12261228
zUuid = PD("name","");
12271229
zType = PD("y","a");
12281230
if( zType[0]!='c' ){
1229
- style_submenu_element("Check-ins", "%R/tkttimeline/%T?y=ci", zUuid);
1231
+ if( g.perm.Read ){
1232
+ style_submenu_element("Check-ins", "%R/tkttimeline/%T?y=ci", zUuid);
1233
+ }
12301234
}else{
12311235
style_submenu_element("Timeline", "%R/tkttimeline/%T", zUuid);
12321236
}
12331237
style_submenu_element("History", "%R/tkthistory/%s", zUuid);
12341238
style_submenu_element("Status", "%R/info/%s", zUuid);
@@ -1282,11 +1286,13 @@
12821286
return;
12831287
}
12841288
zUuid = PD("name","");
12851289
zTitle = mprintf("History Of Ticket %h", zUuid);
12861290
style_submenu_element("Status", "%R/info/%s", zUuid);
1287
- style_submenu_element("Check-ins", "%R/tkttimeline/%s?y=ci", zUuid);
1291
+ if( g.perm.Read ){
1292
+ style_submenu_element("Check-ins", "%R/tkttimeline/%s?y=ci", zUuid);
1293
+ }
12881294
style_submenu_element("Timeline", "%R/tkttimeline/%s", zUuid);
12891295
if( P("raw")!=0 ){
12901296
style_submenu_element("Decoded", "%R/tkthistory/%s", zUuid);
12911297
}else if( g.perm.Admin ){
12921298
style_submenu_element("Raw", "%R/tkthistory/%s?raw", zUuid);
12931299
--- src/tkt.c
+++ src/tkt.c
@@ -733,11 +733,13 @@
733 if( g.anon.WrTkt || g.anon.ApndTkt ){
734 style_submenu_element("Edit", "%R/tktedit/%T", PD("name",""));
735 }
736 if( g.perm.Hyperlink ){
737 style_submenu_element("History", "%R/tkthistory/%T", zUuid);
738 style_submenu_element("Check-ins", "%R/tkttimeline/%T?y=ci", zUuid);
 
 
739 }
740 if( g.anon.NewTkt ){
741 style_submenu_element("New Ticket", "%R/tktnew");
742 }
743 if( g.anon.ApndTkt && g.anon.Attach ){
@@ -1224,11 +1226,13 @@
1224 return;
1225 }
1226 zUuid = PD("name","");
1227 zType = PD("y","a");
1228 if( zType[0]!='c' ){
1229 style_submenu_element("Check-ins", "%R/tkttimeline/%T?y=ci", zUuid);
 
 
1230 }else{
1231 style_submenu_element("Timeline", "%R/tkttimeline/%T", zUuid);
1232 }
1233 style_submenu_element("History", "%R/tkthistory/%s", zUuid);
1234 style_submenu_element("Status", "%R/info/%s", zUuid);
@@ -1282,11 +1286,13 @@
1282 return;
1283 }
1284 zUuid = PD("name","");
1285 zTitle = mprintf("History Of Ticket %h", zUuid);
1286 style_submenu_element("Status", "%R/info/%s", zUuid);
1287 style_submenu_element("Check-ins", "%R/tkttimeline/%s?y=ci", zUuid);
 
 
1288 style_submenu_element("Timeline", "%R/tkttimeline/%s", zUuid);
1289 if( P("raw")!=0 ){
1290 style_submenu_element("Decoded", "%R/tkthistory/%s", zUuid);
1291 }else if( g.perm.Admin ){
1292 style_submenu_element("Raw", "%R/tkthistory/%s?raw", zUuid);
1293
--- src/tkt.c
+++ src/tkt.c
@@ -733,11 +733,13 @@
733 if( g.anon.WrTkt || g.anon.ApndTkt ){
734 style_submenu_element("Edit", "%R/tktedit/%T", PD("name",""));
735 }
736 if( g.perm.Hyperlink ){
737 style_submenu_element("History", "%R/tkthistory/%T", zUuid);
738 if( g.perm.Read ){
739 style_submenu_element("Check-ins", "%R/tkttimeline/%T?y=ci", zUuid);
740 }
741 }
742 if( g.anon.NewTkt ){
743 style_submenu_element("New Ticket", "%R/tktnew");
744 }
745 if( g.anon.ApndTkt && g.anon.Attach ){
@@ -1224,11 +1226,13 @@
1226 return;
1227 }
1228 zUuid = PD("name","");
1229 zType = PD("y","a");
1230 if( zType[0]!='c' ){
1231 if( g.perm.Read ){
1232 style_submenu_element("Check-ins", "%R/tkttimeline/%T?y=ci", zUuid);
1233 }
1234 }else{
1235 style_submenu_element("Timeline", "%R/tkttimeline/%T", zUuid);
1236 }
1237 style_submenu_element("History", "%R/tkthistory/%s", zUuid);
1238 style_submenu_element("Status", "%R/info/%s", zUuid);
@@ -1282,11 +1286,13 @@
1286 return;
1287 }
1288 zUuid = PD("name","");
1289 zTitle = mprintf("History Of Ticket %h", zUuid);
1290 style_submenu_element("Status", "%R/info/%s", zUuid);
1291 if( g.perm.Read ){
1292 style_submenu_element("Check-ins", "%R/tkttimeline/%s?y=ci", zUuid);
1293 }
1294 style_submenu_element("Timeline", "%R/tkttimeline/%s", zUuid);
1295 if( P("raw")!=0 ){
1296 style_submenu_element("Decoded", "%R/tkthistory/%s", zUuid);
1297 }else if( g.perm.Admin ){
1298 style_submenu_element("Raw", "%R/tkthistory/%s?raw", zUuid);
1299

Keyboard Shortcuts

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