Fossil SCM
On the [/help?cmd=/tkthistory|/tkthistory page] supply each ticket change item with a corresponding id attribute and make the 'History' button within a submenu of a [/help?cmd=/tinfo|/tinfo page] to link back to that particular element on the <code>/tkthistory</code> page.
Commit
4bb91f38a8c337a682335bc9863435b339fca5d7a9fa5926113c09d476a95353
Parent
b2049d643b6a3a3…
2 files changed
+1
-1
+3
-3
+1
-1
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -2783,11 +2783,11 @@ | ||
| 2783 | 2783 | "SELECT title FROM ticket WHERE tkt_uuid=%Q", zTktName) |
| 2784 | 2784 | : 0; |
| 2785 | 2785 | style_set_current_feature("tinfo"); |
| 2786 | 2786 | style_header("Ticket Change Details"); |
| 2787 | 2787 | style_submenu_element("Raw", "%R/artifact/%s", zUuid); |
| 2788 | - style_submenu_element("History", "%R/tkthistory/%s", zTktName); | |
| 2788 | + style_submenu_element("History", "%R/tkthistory/%s#%S", zTktName,zUuid); | |
| 2789 | 2789 | style_submenu_element("Page", "%R/tktview/%t", zTktName); |
| 2790 | 2790 | style_submenu_element("Timeline", "%R/tkttimeline/%t", zTktName); |
| 2791 | 2791 | if( P("plaintext") ){ |
| 2792 | 2792 | style_submenu_element("Formatted", "%R/info/%s", zUuid); |
| 2793 | 2793 | }else{ |
| 2794 | 2794 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -2783,11 +2783,11 @@ | |
| 2783 | "SELECT title FROM ticket WHERE tkt_uuid=%Q", zTktName) |
| 2784 | : 0; |
| 2785 | style_set_current_feature("tinfo"); |
| 2786 | style_header("Ticket Change Details"); |
| 2787 | style_submenu_element("Raw", "%R/artifact/%s", zUuid); |
| 2788 | style_submenu_element("History", "%R/tkthistory/%s", zTktName); |
| 2789 | style_submenu_element("Page", "%R/tktview/%t", zTktName); |
| 2790 | style_submenu_element("Timeline", "%R/tkttimeline/%t", zTktName); |
| 2791 | if( P("plaintext") ){ |
| 2792 | style_submenu_element("Formatted", "%R/info/%s", zUuid); |
| 2793 | }else{ |
| 2794 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -2783,11 +2783,11 @@ | |
| 2783 | "SELECT title FROM ticket WHERE tkt_uuid=%Q", zTktName) |
| 2784 | : 0; |
| 2785 | style_set_current_feature("tinfo"); |
| 2786 | style_header("Ticket Change Details"); |
| 2787 | style_submenu_element("Raw", "%R/artifact/%s", zUuid); |
| 2788 | style_submenu_element("History", "%R/tkthistory/%s#%S", zTktName,zUuid); |
| 2789 | style_submenu_element("Page", "%R/tktview/%t", zTktName); |
| 2790 | style_submenu_element("Timeline", "%R/tkttimeline/%t", zTktName); |
| 2791 | if( P("plaintext") ){ |
| 2792 | style_submenu_element("Formatted", "%R/info/%s", zUuid); |
| 2793 | }else{ |
| 2794 |
+3
-3
| --- src/tkt.c | ||
| +++ src/tkt.c | ||
| @@ -1266,14 +1266,14 @@ | ||
| 1266 | 1266 | if( zFile!=0 ){ |
| 1267 | 1267 | const char *zSrc = db_column_text(&q, 3); |
| 1268 | 1268 | const char *zUser = db_column_text(&q, 5); |
| 1269 | 1269 | if( zSrc==0 || zSrc[0]==0 ){ |
| 1270 | 1270 | @ |
| 1271 | - @ <li><p>Delete attachment "%h(zFile)" | |
| 1271 | + @ <li id="%S(zChngUuid)"><p>Delete attachment "%h(zFile)" | |
| 1272 | 1272 | }else{ |
| 1273 | 1273 | @ |
| 1274 | - @ <li><p>Add attachment | |
| 1274 | + @ <li id="%S(zChngUuid)"><p>Add attachment | |
| 1275 | 1275 | @ "%z(href("%R/artifact/%!S",zSrc))%s(zFile)</a>" |
| 1276 | 1276 | } |
| 1277 | 1277 | @ [%z(href("%R/artifact/%!S",zChngUuid))%S(zChngUuid)</a>] |
| 1278 | 1278 | @ (rid %d(rid)) by |
| 1279 | 1279 | hyperlink_to_user(zUser,zDate," on"); |
| @@ -1280,11 +1280,11 @@ | ||
| 1280 | 1280 | hyperlink_to_date(zDate, ".</p>"); |
| 1281 | 1281 | }else{ |
| 1282 | 1282 | pTicket = manifest_get(rid, CFTYPE_TICKET, 0); |
| 1283 | 1283 | if( pTicket ){ |
| 1284 | 1284 | @ |
| 1285 | - @ <li><p>Ticket change | |
| 1285 | + @ <li id="%S(zChngUuid)"><p>Ticket change | |
| 1286 | 1286 | @ [%z(href("%R/artifact/%!S",zChngUuid))%S(zChngUuid)</a>] |
| 1287 | 1287 | @ (rid %d(rid)) by |
| 1288 | 1288 | hyperlink_to_user(pTicket->zUser,zDate," on"); |
| 1289 | 1289 | hyperlink_to_date(zDate, ":"); |
| 1290 | 1290 | @ </p> |
| 1291 | 1291 |
| --- src/tkt.c | |
| +++ src/tkt.c | |
| @@ -1266,14 +1266,14 @@ | |
| 1266 | if( zFile!=0 ){ |
| 1267 | const char *zSrc = db_column_text(&q, 3); |
| 1268 | const char *zUser = db_column_text(&q, 5); |
| 1269 | if( zSrc==0 || zSrc[0]==0 ){ |
| 1270 | @ |
| 1271 | @ <li><p>Delete attachment "%h(zFile)" |
| 1272 | }else{ |
| 1273 | @ |
| 1274 | @ <li><p>Add attachment |
| 1275 | @ "%z(href("%R/artifact/%!S",zSrc))%s(zFile)</a>" |
| 1276 | } |
| 1277 | @ [%z(href("%R/artifact/%!S",zChngUuid))%S(zChngUuid)</a>] |
| 1278 | @ (rid %d(rid)) by |
| 1279 | hyperlink_to_user(zUser,zDate," on"); |
| @@ -1280,11 +1280,11 @@ | |
| 1280 | hyperlink_to_date(zDate, ".</p>"); |
| 1281 | }else{ |
| 1282 | pTicket = manifest_get(rid, CFTYPE_TICKET, 0); |
| 1283 | if( pTicket ){ |
| 1284 | @ |
| 1285 | @ <li><p>Ticket change |
| 1286 | @ [%z(href("%R/artifact/%!S",zChngUuid))%S(zChngUuid)</a>] |
| 1287 | @ (rid %d(rid)) by |
| 1288 | hyperlink_to_user(pTicket->zUser,zDate," on"); |
| 1289 | hyperlink_to_date(zDate, ":"); |
| 1290 | @ </p> |
| 1291 |
| --- src/tkt.c | |
| +++ src/tkt.c | |
| @@ -1266,14 +1266,14 @@ | |
| 1266 | if( zFile!=0 ){ |
| 1267 | const char *zSrc = db_column_text(&q, 3); |
| 1268 | const char *zUser = db_column_text(&q, 5); |
| 1269 | if( zSrc==0 || zSrc[0]==0 ){ |
| 1270 | @ |
| 1271 | @ <li id="%S(zChngUuid)"><p>Delete attachment "%h(zFile)" |
| 1272 | }else{ |
| 1273 | @ |
| 1274 | @ <li id="%S(zChngUuid)"><p>Add attachment |
| 1275 | @ "%z(href("%R/artifact/%!S",zSrc))%s(zFile)</a>" |
| 1276 | } |
| 1277 | @ [%z(href("%R/artifact/%!S",zChngUuid))%S(zChngUuid)</a>] |
| 1278 | @ (rid %d(rid)) by |
| 1279 | hyperlink_to_user(zUser,zDate," on"); |
| @@ -1280,11 +1280,11 @@ | |
| 1280 | hyperlink_to_date(zDate, ".</p>"); |
| 1281 | }else{ |
| 1282 | pTicket = manifest_get(rid, CFTYPE_TICKET, 0); |
| 1283 | if( pTicket ){ |
| 1284 | @ |
| 1285 | @ <li id="%S(zChngUuid)"><p>Ticket change |
| 1286 | @ [%z(href("%R/artifact/%!S",zChngUuid))%S(zChngUuid)</a>] |
| 1287 | @ (rid %d(rid)) by |
| 1288 | hyperlink_to_user(pTicket->zUser,zDate," on"); |
| 1289 | hyperlink_to_date(zDate, ":"); |
| 1290 | @ </p> |
| 1291 |