Fossil SCM

Merge in the code that optionally runs a TH1 script after each ticket edit.

drh 2012-02-10 23:05 trunk merge
Commit a9055964f371eed0d09181166ae06c2a378a4946
--- src/configure.c
+++ src/configure.c
@@ -93,10 +93,11 @@
9393
#endif
9494
{ "timeline-block-markup", CONFIGSET_SKIN },
9595
{ "timeline-max-comment", CONFIGSET_SKIN },
9696
{ "ticket-table", CONFIGSET_TKT },
9797
{ "ticket-common", CONFIGSET_TKT },
98
+ { "ticket-change", CONFIGSET_TKT },
9899
{ "ticket-newpage", CONFIGSET_TKT },
99100
{ "ticket-viewpage", CONFIGSET_TKT },
100101
{ "ticket-editpage", CONFIGSET_TKT },
101102
{ "ticket-reportlist", CONFIGSET_TKT },
102103
{ "ticket-report-template", CONFIGSET_TKT },
103104
--- src/configure.c
+++ src/configure.c
@@ -93,10 +93,11 @@
93 #endif
94 { "timeline-block-markup", CONFIGSET_SKIN },
95 { "timeline-max-comment", CONFIGSET_SKIN },
96 { "ticket-table", CONFIGSET_TKT },
97 { "ticket-common", CONFIGSET_TKT },
 
98 { "ticket-newpage", CONFIGSET_TKT },
99 { "ticket-viewpage", CONFIGSET_TKT },
100 { "ticket-editpage", CONFIGSET_TKT },
101 { "ticket-reportlist", CONFIGSET_TKT },
102 { "ticket-report-template", CONFIGSET_TKT },
103
--- src/configure.c
+++ src/configure.c
@@ -93,10 +93,11 @@
93 #endif
94 { "timeline-block-markup", CONFIGSET_SKIN },
95 { "timeline-max-comment", CONFIGSET_SKIN },
96 { "ticket-table", CONFIGSET_TKT },
97 { "ticket-common", CONFIGSET_TKT },
98 { "ticket-change", CONFIGSET_TKT },
99 { "ticket-newpage", CONFIGSET_TKT },
100 { "ticket-viewpage", CONFIGSET_TKT },
101 { "ticket-editpage", CONFIGSET_TKT },
102 { "ticket-reportlist", CONFIGSET_TKT },
103 { "ticket-report-template", CONFIGSET_TKT },
104
--- src/configure.c
+++ src/configure.c
@@ -93,10 +93,11 @@
9393
#endif
9494
{ "timeline-block-markup", CONFIGSET_SKIN },
9595
{ "timeline-max-comment", CONFIGSET_SKIN },
9696
{ "ticket-table", CONFIGSET_TKT },
9797
{ "ticket-common", CONFIGSET_TKT },
98
+ { "ticket-change", CONFIGSET_TKT },
9899
{ "ticket-newpage", CONFIGSET_TKT },
99100
{ "ticket-viewpage", CONFIGSET_TKT },
100101
{ "ticket-editpage", CONFIGSET_TKT },
101102
{ "ticket-reportlist", CONFIGSET_TKT },
102103
{ "ticket-report-template", CONFIGSET_TKT },
103104
--- src/configure.c
+++ src/configure.c
@@ -93,10 +93,11 @@
93 #endif
94 { "timeline-block-markup", CONFIGSET_SKIN },
95 { "timeline-max-comment", CONFIGSET_SKIN },
96 { "ticket-table", CONFIGSET_TKT },
97 { "ticket-common", CONFIGSET_TKT },
 
98 { "ticket-newpage", CONFIGSET_TKT },
99 { "ticket-viewpage", CONFIGSET_TKT },
100 { "ticket-editpage", CONFIGSET_TKT },
101 { "ticket-reportlist", CONFIGSET_TKT },
102 { "ticket-report-template", CONFIGSET_TKT },
103
--- src/configure.c
+++ src/configure.c
@@ -93,10 +93,11 @@
93 #endif
94 { "timeline-block-markup", CONFIGSET_SKIN },
95 { "timeline-max-comment", CONFIGSET_SKIN },
96 { "ticket-table", CONFIGSET_TKT },
97 { "ticket-common", CONFIGSET_TKT },
98 { "ticket-change", CONFIGSET_TKT },
99 { "ticket-newpage", CONFIGSET_TKT },
100 { "ticket-viewpage", CONFIGSET_TKT },
101 { "ticket-editpage", CONFIGSET_TKT },
102 { "ticket-reportlist", CONFIGSET_TKT },
103 { "ticket-report-template", CONFIGSET_TKT },
104
+11 -1
--- src/tkt.c
+++ src/tkt.c
@@ -242,10 +242,20 @@
242242
const char *zConfig;
243243
Th_FossilInit();
244244
zConfig = ticket_common_code();
245245
Th_Eval(g.interp, 0, zConfig, -1);
246246
}
247
+
248
+/*
249
+** Create the subscript interpreter and load the "change" code.
250
+*/
251
+int ticket_change(void){
252
+ const char *zConfig;
253
+ Th_FossilInit();
254
+ zConfig = ticket_change_code();
255
+ return Th_Eval(g.interp, 0, zConfig, -1);
256
+}
247257
248258
/*
249259
** Recreate the ticket table.
250260
*/
251261
void ticket_create_table(int separateConnection){
@@ -487,11 +497,11 @@
487497
manifest_crosslink_begin();
488498
manifest_crosslink(rid, &tktchng);
489499
assert( blob_is_reset(&tktchng) );
490500
manifest_crosslink_end();
491501
}
492
- return TH_RETURN;
502
+ return ticket_change();
493503
}
494504
495505
496506
/*
497507
** WEBPAGE: tktnew
498508
--- src/tkt.c
+++ src/tkt.c
@@ -242,10 +242,20 @@
242 const char *zConfig;
243 Th_FossilInit();
244 zConfig = ticket_common_code();
245 Th_Eval(g.interp, 0, zConfig, -1);
246 }
 
 
 
 
 
 
 
 
 
 
247
248 /*
249 ** Recreate the ticket table.
250 */
251 void ticket_create_table(int separateConnection){
@@ -487,11 +497,11 @@
487 manifest_crosslink_begin();
488 manifest_crosslink(rid, &tktchng);
489 assert( blob_is_reset(&tktchng) );
490 manifest_crosslink_end();
491 }
492 return TH_RETURN;
493 }
494
495
496 /*
497 ** WEBPAGE: tktnew
498
--- src/tkt.c
+++ src/tkt.c
@@ -242,10 +242,20 @@
242 const char *zConfig;
243 Th_FossilInit();
244 zConfig = ticket_common_code();
245 Th_Eval(g.interp, 0, zConfig, -1);
246 }
247
248 /*
249 ** Create the subscript interpreter and load the "change" code.
250 */
251 int ticket_change(void){
252 const char *zConfig;
253 Th_FossilInit();
254 zConfig = ticket_change_code();
255 return Th_Eval(g.interp, 0, zConfig, -1);
256 }
257
258 /*
259 ** Recreate the ticket table.
260 */
261 void ticket_create_table(int separateConnection){
@@ -487,11 +497,11 @@
497 manifest_crosslink_begin();
498 manifest_crosslink(rid, &tktchng);
499 assert( blob_is_reset(&tktchng) );
500 manifest_crosslink_end();
501 }
502 return ticket_change();
503 }
504
505
506 /*
507 ** WEBPAGE: tktnew
508
--- src/tktsetup.c
+++ src/tktsetup.c
@@ -38,10 +38,12 @@
3838
"Specify the schema of the \"ticket\" table in the database.");
3939
setup_menu_entry("Timeline", "tktsetup_timeline",
4040
"How to display ticket status in the timeline");
4141
setup_menu_entry("Common", "tktsetup_com",
4242
"Common TH1 code run before all ticket processing.");
43
+ setup_menu_entry("Change", "tktsetup_change",
44
+ "The TH1 code run after a ticket is edited or created.");
4345
setup_menu_entry("New Ticket Page", "tktsetup_newpage",
4446
"HTML with embedded TH1 code for the \"new ticket\" webpage.");
4547
setup_menu_entry("View Ticket Page", "tktsetup_viewpage",
4648
"HTML with embedded TH1 code for the \"view ticket\" webpage.");
4749
setup_menu_entry("Edit Ticket Page", "tktsetup_editpage",
@@ -238,10 +240,40 @@
238240
"Ticket Common Script",
239241
"ticket-common",
240242
zDefaultTicketCommon,
241243
zDesc,
242244
0,
245
+ 0,
246
+ 30
247
+ );
248
+}
249
+
250
+static const char zDefaultTicketChange[] =
251
+@ return
252
+;
253
+
254
+/*
255
+** Return the ticket change code.
256
+*/
257
+const char *ticket_change_code(void){
258
+ return db_get("ticket-change", (char*)zDefaultTicketChange);
259
+}
260
+
261
+/*
262
+** WEBPAGE: tktsetup_change
263
+*/
264
+void tktsetup_change_page(void){
265
+ static const char zDesc[] =
266
+ @ Enter TH1 script that runs after processing the ticket editing
267
+ @ and creation pages.
268
+ ;
269
+ tktsetup_generic(
270
+ "Ticket Change Script",
271
+ "ticket-change",
272
+ zDefaultTicketChange,
273
+ zDesc,
274
+ 0,
243275
0,
244276
30
245277
);
246278
}
247279
248280
--- src/tktsetup.c
+++ src/tktsetup.c
@@ -38,10 +38,12 @@
38 "Specify the schema of the \"ticket\" table in the database.");
39 setup_menu_entry("Timeline", "tktsetup_timeline",
40 "How to display ticket status in the timeline");
41 setup_menu_entry("Common", "tktsetup_com",
42 "Common TH1 code run before all ticket processing.");
 
 
43 setup_menu_entry("New Ticket Page", "tktsetup_newpage",
44 "HTML with embedded TH1 code for the \"new ticket\" webpage.");
45 setup_menu_entry("View Ticket Page", "tktsetup_viewpage",
46 "HTML with embedded TH1 code for the \"view ticket\" webpage.");
47 setup_menu_entry("Edit Ticket Page", "tktsetup_editpage",
@@ -238,10 +240,40 @@
238 "Ticket Common Script",
239 "ticket-common",
240 zDefaultTicketCommon,
241 zDesc,
242 0,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
243 0,
244 30
245 );
246 }
247
248
--- src/tktsetup.c
+++ src/tktsetup.c
@@ -38,10 +38,12 @@
38 "Specify the schema of the \"ticket\" table in the database.");
39 setup_menu_entry("Timeline", "tktsetup_timeline",
40 "How to display ticket status in the timeline");
41 setup_menu_entry("Common", "tktsetup_com",
42 "Common TH1 code run before all ticket processing.");
43 setup_menu_entry("Change", "tktsetup_change",
44 "The TH1 code run after a ticket is edited or created.");
45 setup_menu_entry("New Ticket Page", "tktsetup_newpage",
46 "HTML with embedded TH1 code for the \"new ticket\" webpage.");
47 setup_menu_entry("View Ticket Page", "tktsetup_viewpage",
48 "HTML with embedded TH1 code for the \"view ticket\" webpage.");
49 setup_menu_entry("Edit Ticket Page", "tktsetup_editpage",
@@ -238,10 +240,40 @@
240 "Ticket Common Script",
241 "ticket-common",
242 zDefaultTicketCommon,
243 zDesc,
244 0,
245 0,
246 30
247 );
248 }
249
250 static const char zDefaultTicketChange[] =
251 @ return
252 ;
253
254 /*
255 ** Return the ticket change code.
256 */
257 const char *ticket_change_code(void){
258 return db_get("ticket-change", (char*)zDefaultTicketChange);
259 }
260
261 /*
262 ** WEBPAGE: tktsetup_change
263 */
264 void tktsetup_change_page(void){
265 static const char zDesc[] =
266 @ Enter TH1 script that runs after processing the ticket editing
267 @ and creation pages.
268 ;
269 tktsetup_generic(
270 "Ticket Change Script",
271 "ticket-change",
272 zDefaultTicketChange,
273 zDesc,
274 0,
275 0,
276 30
277 );
278 }
279
280

Keyboard Shortcuts

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