Index: openacs-4/contrib/packages/project-manager/www/task-revisions.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-revisions.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/project-manager/www/task-revisions.tcl 30 Apr 2004 21:32:33 -0000 1.1
+++ openacs-4/contrib/packages/project-manager/www/task-revisions.tcl 3 Jun 2004 21:32:13 -0000 1.2
@@ -21,7 +21,7 @@
}
-set task_term [parameter::get -parameter "TaskName" -default "Task"]
+set task_term [parameter::get -parameter "TaskName" -default "Task Revisions"]
set title "$task_term Changes"
@@ -64,34 +64,49 @@
label "Deadline"
}
} \
- -orderby {
- revision_id {orderby revision_id}
- percent_complete {orderby percent_complete}
- end_date {orderby end_date}
- default_value revision_id,desc
- } \
- -orderby_name orderby_revisions \
-sub_class {
narrow
- } \
- -filters {
- task_revision_id {}
- orderby_dependency {}
- orderby_dependency2 {}
- } \
- -html {
- width 100%
- }
+ }
+set descriptions [list]
-db_multirow -extend { item_url description_rich } revisions task_revisions_query {
+db_multirow -extend { item_url description_rich old_revision_id } revisions task_revisions_query {
} {
set item_url [export_vars -base "task-one" -override {{task_revision_id $revision_id}} -exclude {revision_id} { revision_id task_id}]
set richtext_list [list $description $mime_type]
set description_rich [template::util::richtext::get_property html_value $richtext_list]
+ set descriptions_length [llength $descriptions]
+
+ # if there isn't any previous items, then we don't have to do a
+ # word diff. All the content is new.
+ if {$descriptions_length < 1} {
+ set description_rich $description_rich
+ lappend descriptions "$description_rich"
+
+ } else {
+
+ set old_description [lindex $descriptions [expr [llength $descriptions] - 1]]
+ set old_description [ad_html_to_text $old_description]
+ lappend descriptions "$description_rich"
+
+ set description_rich [pm::util::word_diff \
+ -split_by " " \
+ -old "$old_description" \
+ -start_old "" \
+ -end_old "" \
+ -start_new "" \
+ -end_new "" \
+ -new "[ad_html_to_text $description_rich]" \
+ -filter_proc ""]
+
+ # set description_rich [ad_html_to_text $description_rich]
+ set description_rich [ad_text_to_html -no_quote -includes_html -- $description_rich]
+
+ }
+
}