Index: openacs-4/packages/glossar/catalog/glossar.de_DE.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/catalog/glossar.de_DE.ISO-8859-1.xml,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/glossar/catalog/glossar.de_DE.ISO-8859-1.xml	14 Dec 2005 17:34:04 -0000	1.4
+++ openacs-4/packages/glossar/catalog/glossar.de_DE.ISO-8859-1.xml	2 Jan 2006 13:22:06 -0000	1.5
@@ -30,6 +30,8 @@
   <msg key="glossar_id">Glossar Nr.</msg>
   <msg key="glossar_last_modified">Zuletzt ge�ndert</msg>
   <msg key="glossar_last_name">Nachname</msg>
+  <msg key="glossar_Move">Glossare umhaengen</msg>
+  <msg key="glossar_Move2">Glossare zu einem anderen Kunden wechseln</msg>
   <msg key="glossar_New">Neu</msg>
   <msg key="glossar_New2">Neu</msg>
   <msg key="glossar_New_lekture">Neues Lektorat</msg>
@@ -44,7 +46,8 @@
   <msg key="glossar_target_category">Zielsprache</msg>
   <msg key="glossar_target_text">Zielausdruck</msg>
   <msg key="glossar_term_add">Ausdruck hinzuf�gen</msg>
-  <msg key="glossar_term_edit">Edit</msg>
+  <msg key="glossar_term_edit">Aendern</msg>
+  <msg key="glossar_term_history">Alle Aenderungen</msg>
   <msg key="glossar_term_nr">Ausdruck Nr.</msg>
   <msg key="glossar_title">Titel</msg>
   <msg key="Glossars">Glossare</msg>
Index: openacs-4/packages/glossar/catalog/glossar.en_US.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/catalog/glossar.en_US.ISO-8859-1.xml,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/glossar/catalog/glossar.en_US.ISO-8859-1.xml	14 Dec 2005 17:34:04 -0000	1.4
+++ openacs-4/packages/glossar/catalog/glossar.en_US.ISO-8859-1.xml	2 Jan 2006 13:22:06 -0000	1.5
@@ -30,6 +30,8 @@
   <msg key="glossar_id">Glossar Nr.</msg>
   <msg key="glossar_last_modified">Last modified</msg>
   <msg key="glossar_last_name">Sir Name</msg>
+  <msg key="glossar_Move">Move Glossars</msg>
+  <msg key="glossar_Move2">Moves glossars to another customer</msg>
   <msg key="glossar_New">New</msg>
   <msg key="glossar_New2">New</msg>
   <msg key="glossar_New_lekture">New Lecture</msg>
@@ -45,6 +47,7 @@
   <msg key="glossar_target_text">Target Term</msg>
   <msg key="glossar_term_add">Glossar Term Add</msg>
   <msg key="glossar_term_edit">Edit</msg>
+  <msg key="glossar_term_history">History</msg>
   <msg key="glossar_term_nr">Term Nr.</msg>
   <msg key="glossar_title">Title</msg>
   <msg key="Glossars">Glossars</msg>
Index: openacs-4/packages/glossar/lib/glossar-list.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/lib/glossar-list.tcl,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/glossar/lib/glossar-list.tcl	13 Nov 2005 13:39:56 -0000	1.6
+++ openacs-4/packages/glossar/lib/glossar-list.tcl	2 Jan 2006 13:22:06 -0000	1.7
@@ -31,16 +31,11 @@
     set page_size "25"
 }
 
-set glossar_id "0"
+# set glossar_id "0"
+# set gl_translation_p 0
+set user_id [ad_conn user_id]
 
-set gl_translation_p 0
-
-#if {![exists_and_not_null owner_id]} {  
-#    set owner_id 499  
-#}
-
-ns_log notice "OWNER_ID $owner_id"
-if [empty_string_p "[ad_conn user_id]"] {
+if {[empty_string_p $user_id]} {
     ad_redirect_for_registration
 }
 
@@ -90,9 +85,12 @@
 
 lappend actions "[_ glossar.New_Translation]" [export_vars -base "${base_url}/glossar-add" {owner_id gl_translation_p customer_id}] "[_ glossar.Add_New_Translation]" 
 
+set return_url [ad_conn url]
+set move_url "[export_vars -base "${base_url}/glossar-move" {$return_url}]"
 
-set row_list [list checkbox title description source_category target_category glossar_edit glossar_files]
 
+set row_list [list checkbox {} title {} description {} source_category {} target_category {} glossar_edit {} glossar_files {}]
+
 set no_perm_p 0 
 
 if [permission::permission_p -object_id $owner_id -privilege admin] {
@@ -104,7 +102,7 @@
 } elseif {[permission::permission_p -object_id $owner_id -privilege read]} {
 
     set actions ""
-    set row_list [list title description source_category target_category]
+    set row_list [list title {} description {} source_category {} target_category {}]
 
 } else {
 
@@ -135,14 +133,14 @@
 		label {[_ glossar.glossar_target_category]}
 	    }
 	    glossar_edit {
-		display_template "<a href=\"@gl_glossar.edit_url@\">[_ acs-kernel.common_Edit]</a>"
+		display_template {<a href="@gl_glossar.edit_url@"><img border="0" src="/shared/images/Edit16.gif" alt="#acs-kernel.common_Edit#" /></a>}
 	    }	
 	    glossar_files {
 		display_template "<a href=\"@gl_glossar.files_url@\">[_ glossar.Files]</a> (@gl_glossar.files_count@)"
 	    }	
 
 	} -actions $actions -sub_class narrow \
-	-bulk_actions {"Move Glossars" $gl_glossar.move_url "Moves glossars to another customer"} \
+	-bulk_actions {"[_ glossar.glossar_Move]" $move_url "[_ glossar.glossar_Move2]"} \
 	-orderby {
 	    default_value title
 	    glossar_id {
@@ -153,8 +151,8 @@
 	    }
 	    title {
 		label {[_ glossar.glossar_title]}
-		orderby_desc {sort_key asc , crr.title desc}
-		orderby_asc {sort_key asc , crr.title asc}
+		orderby_desc {sort_key asc , lower(crr.title) desc}
+		orderby_asc {sort_key asc , lower(crr.title) asc}
 		default_direction asc
 	    }
 	}  -orderby_name orderby \
@@ -182,22 +180,18 @@
 
 
 
-    db_multirow -extend {source_category target_category gl_translation_p glossar_edit glossar_files files_url edit_url title_url files_count} gl_glossar gl_glossar  {} {
+    db_multirow -extend {source_category target_category gl_translation_p files_url edit_url title_url files_count} gl_glossar gl_glossar  {} {
 	if {![empty_string_p $target_category_id]} {
 	    set gl_translation_p 1
 	} else {
 	    set gl_translation_p 0
 	}
 	set files_count [db_string get_files_count { } -default 0]
-	set glossar_edit "[_ glossar.glossar_Edit]"
-	set glossar_files "[_ glossar.files]"
 	set source_category "[category::get_name $source_category_id]"
 	set target_category "[category::get_name $target_category_id]"
 	set title_url "[export_vars -base "${base_url}/glossar-term-list" {glossar_id gl_translation_p customer_id owner_id}]"
 	set edit_url "[export_vars -base "${base_url}/glossar-edit" {glossar_id}]"
 	set files_url "[export_vars -base "${base_url}/glossar-file-upload" {glossar_id}]"
-	set return_url [ad_conn url]
-	set move_url "[export_vars -base "${base_url}/glossar-move" {$return_url}]"
     } if_no_rows {
 	
 	
Index: openacs-4/packages/glossar/lib/glossar-portlet-list.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/lib/glossar-portlet-list.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/glossar/lib/glossar-portlet-list.tcl	21 Oct 2005 14:28:33 -0000	1.2
+++ openacs-4/packages/glossar/lib/glossar-portlet-list.tcl	2 Jan 2006 13:22:06 -0000	1.3
@@ -7,12 +7,12 @@
 # @arch-tag: 4324b14c-cb5d-4512-b56d-0e0ab10ff025
 # @cvs-id $Id$
 
-foreach required_param {owner_ids} {
+foreach required_param {owner_id} {
     if {![info exists $required_param]} {
 	return -code error "$required_param is a required parameter."
     }
 }
-foreach optional_param {gl_format gl_customer_id gl_orderby} {
+foreach optional_param {gl_format gl_orderby} {
     if {![info exists $optional_param]} {
 	set $optional_param {}
     }
@@ -23,30 +23,33 @@
 		  [dotlrn_community::get_community_id_from_url] \
 		 ]
 
-set glossar_id "0"
-
-set gl_translation_p 0
 set page_size 100
 set base_url "glossar"
+set user_id [ad_conn user_id]
 
-if [empty_string_p "[ad_conn user_id]"] {
+if {[empty_string_p $user_id]} {
     ad_redirect_for_registration
 }
 
-set customer_id [lindex  $owner_ids 0]
-set where_etat_ids [join [lrange $owner_ids 1 [llength $owner_ids]] "','" ] 
-set actions ""
-ns_log notice "WHERE $where_etat_ids , owner $customer_id "
+if {[goup::member_p -user_id $user_id -group_name Customer]} {
+    # owner is customer
+    set customer_id $owner_id
+    set query_name gl_glossar_portlet_customer
+} else {
+    # owner is etat
+    set etat_id $owner_id
+    set query_name gl_glossar_portlet_etat
+}
 
-# We check if the owner_id is an relation, if it is, the real_owner_id
+# We check if the owner_id is a relation, if it is, the real_owner_id
 # becomes the eta_id stored in gl_glossars, else it becomes the
 # owner_id which can be a customer_id or a etat_id.
 # We still pass on the owner_id to check permission.
 # Only if the owner_id is an relation we have two id's an etat_id
 # (glossar owner) and an extra custommer_id which is stored in
 # gl_glossar_terms to indicate which terms of a glossar , owned by a
 # etat,  belong to a specific customer.
-# This results into thre possible displays.
+# This results into three possible displays.
 # 1. owner_id is a customer_id (all glossars , owned by customer_id, 
 #    with all terms will be displayed)
 #
@@ -59,8 +62,8 @@
 # 3. owner_id is a relation_id (all glossars, owned by the etat_id
 #    which is stored in the relations object_id_one column, with all
 #    terms having a customer_id, equal to the relations object_id_two.     
-#    Question: Should it be possible to to display all glossars
-#    owned by the relations object_id_two (custommer_id) including all
+#    Question: Should it be possible to display all glossars
+#    owned by the relations object_id_two (customer_id) including all
 #    terms as well?
 
 
@@ -69,28 +72,26 @@
 
 # No actions just a list of glossars
 
-#set actions [list "[_ glossar.New_Lecture]" [export_vars -base "${base_url}/glossar-add" {owner_id gl_translation_p }] "[_ glossar.New_Lecture]"]
+set actions [list "[_ glossar.New_Lecture]" [export_vars -base "${base_url}/glossar-add" {owner_id gl_translation_p }] "[_ glossar.New_Lecture]"]
 
-set gl_translation_p 1
+lappend actions "[_ glossar.New_Translation]" [export_vars -base "${base_url}/glossar-add" {owner_id gl_translation_p }] "[_ glossar.Add_New_Translation]" 
 
-#lappend actions "[_ glossar.New_Translation]" [export_vars -base "${base_url}/glossar-add" {owner_id gl_translation_p }] "[_ glossar.Add_New_Translation]" 
 
+set row_list [list name {} title {} description {} source_category {} target_category {} glossar_edit {} glossar_files {}]
 
-set row_list [list name title description source_category target_category glossar_edit glossar_files]
-
 # Just check permission on the first owner_id (the current customer) 
 set no_perm_p 0
 
-if [permission::permission_p -object_id $customer_id -privilege admin] {
+if [permission::permission_p -object_id $owner_id -privilege admin] {
 
-} elseif {[permission::permission_p -object_id $customer_id -privilege create]} {
+} elseif {[permission::permission_p -object_id $owner_id -privilege create]} {
 
     set user_perm create
 
-} elseif {[permission::permission_p -object_id $customer_id -privilege read]} {
+} elseif {[permission::permission_p -object_id $owner_id -privilege read]} {
 
     set actions ""
-    set row_list [list name title description source_category target_category]
+    set row_list [list name {} title {} description {} source_category {} target_category {}]
 
 } else {
 
@@ -100,15 +101,14 @@
 
 }
 
-set owner_id 0
 if {$no_perm_p == 0} {
 
 template::list::create \
     -name gl_glossar_portlet \
     -key glossar_id \
     -no_data "[_ glossar.None]" \
     -selected_format $gl_format \
-    -pass_properties {customer_id owner_ids edit_link } \
+    -pass_properties {owner_id edit_link } \
     -elements {
 	name {
 	    label {[_ glossar.Organization_Name]}
@@ -128,7 +128,7 @@
 	    label {[_ glossar.glossar_target_category]}
         }
 	glossar_edit {
-	    display_template "<a href=\"@gl_glossar_portlet.edit_url@\">[_ acs-kernel.common_Edit]</a>"
+	    display_template {<a href="@gl_glossar_portlet.edit_url@"><img border="0" src="/shared/images/Edit16.gif" alt="#acs-kernel.common_Edit#" /></a>}
 	}	
 	glossar_files {
 	    display_template "<a href=\"@gl_glossar_portlet.files_url@\">[_ glossar.Files]</a>"
@@ -145,13 +145,13 @@
 	}
 	title {
 	    label {[_ glossar.glossar_title]}
-	    orderby_desc {sort_key asc , title desc}
-	    orderby_asc {sort_key asc , title asc}
+	    orderby_desc {sort_key asc, lower(title) desc}
+	    orderby_asc {sort_key asc, lower(title) asc}
 	    default_direction asc
 	}
     }  -orderby_name orderby \
     -filters {
-	customer_id {}
+	owner_id {}
 	edit_link {}
     } \
     -formats {
@@ -169,9 +169,7 @@
     } 
 
 
-set static_customer_id $customer_id
-
-db_multirow -extend {source_category target_category gl_translation_p glossar_edit glossar_files files_url edit_url title_url new_glossar} gl_glossar_portlet gl_glossar_portlet  {} {
+db_multirow -extend {source_category target_category gl_translation_p glossar_edit glossar_files files_url edit_url title_url new_glossar} gl_glossar_portlet $query_name  {} {
     if {![empty_string_p $target_category_id]} {
 	set gl_translation_p 1
     } else {
@@ -181,17 +179,17 @@
     set glossar_files "[_ glossar.files]"
     set source_category "[category::get_name $source_category_id]"
     set target_category "[category::get_name $target_category_id]"
-    set title_url "[export_vars -base "${base_url}/glossar-term-list" {glossar_id gl_translation_p customer_id owner_id}]"
+    set title_url "[export_vars -base "${base_url}/glossar-term-list" {glossar_id gl_translation_p owner_id}]"
     set edit_url "[export_vars -base "${base_url}/glossar-add" {owner_id glossar_id gl_translation_p }]"
     set files_url "[export_vars -base "${base_url}/glossar-file-upload" {glossar_id}]"
-    if {$customer_id == $owner_id} {
+    if {$gl_owner_id == $owner_id} {
 	set new_glossar "[export_vars -base "${base_url}/index" {owner_id}]"
     } else {
-	set new_glossar "[export_vars -base "${base_url}/index" {owner_id customer_id}]"
+	set new_glossar "[export_vars -base "${base_url}/index" {owner_id {customer_id $gl_owner_id}}]"
     }
 } if_no_rows {
 
 
 }
 
-}
\ No newline at end of file
+}
Index: openacs-4/packages/glossar/lib/glossar-portlet-list.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/lib/glossar-portlet-list.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/glossar/lib/glossar-portlet-list.xql	20 Aug 2005 09:37:51 -0000	1.1
+++ openacs-4/packages/glossar/lib/glossar-portlet-list.xql	2 Jan 2006 13:22:06 -0000	1.2
@@ -10,6 +10,20 @@
   <fullquery name="gl_glossar_portlet">
     <querytext>  
 
+      SELECT cr.item_id as glossar_id , crr.title , crr.description , gl.source_category_id , gl.target_category_id , gl.owner_id, org.name , 1 as query_number
+      FROM gl_glossars gl, cr_items cr, cr_revisions crr , organizations org  
+      WHERE cr.latest_revision = crr.revision_id 
+      AND crr.revision_id = gl.glossar_id	
+      AND gl.owner_id = org.organization_id
+      AND org.organization_id = :customer_id 
+      ORDER BY [template::list::orderby_clause -name gl_glossar_portlet]
+
+    </querytext>
+</fullquery>
+
+  <fullquery name="gl_glossar_portlet_rel">
+    <querytext>  
+
       SELECT cr.item_id as glossar_id , crr.title , crr.description , gl.source_category_id , gl.target_category_id , gl.owner_id, org.name , 1 as query_number ,
 case when gl.target_category_id is null then 0 else 1 end as sort_key  
       FROM gl_glossars gl, cr_items cr, cr_revisions crr , organizations org  
@@ -24,10 +38,62 @@
       WHERE cr.latest_revision = crr.revision_id 
       AND crr.revision_id = gl.glossar_id	
       AND gl.owner_id =  org.organization_id
-      AND org.organization_id IN ('$where_etat_ids')
+      AND org.organization_id IN ($where_etat_ids)
       ORDER BY query_number asc , 
       [template::list::orderby_clause -name gl_glossar_portlet]
 
     </querytext>
 </fullquery>
-</queryset>
\ No newline at end of file
+
+  <fullquery name="gl_glossar_portlet_customer">
+    <querytext>  
+
+      SELECT cr.item_id as glossar_id , crr.title , crr.description , gl.source_category_id , gl.target_category_id , gl.owner_id as gl_owner_id, org.name , 1 as query_number ,
+case when gl.target_category_id is null then 0 else 1 end as sort_key  
+      FROM gl_glossars gl, cr_items cr, cr_revisions crr , organizations org  
+      WHERE cr.latest_revision = crr.revision_id 
+      AND crr.revision_id = gl.glossar_id	
+      AND gl.owner_id = org.organization_id
+      AND org.organization_id = :customer_id 
+      UNION
+      SELECT cr.item_id as glossar_id , crr.title , crr.description , gl.source_category_id , gl.target_category_id , gl.owner_id as gl_owner_id, org.name , 2 as query_number ,
+case when gl.target_category_id is null then 0 else 1 end as sort_key  
+      FROM gl_glossars gl, cr_items cr, cr_revisions crr, organizations org    
+      WHERE cr.latest_revision = crr.revision_id 
+      AND crr.revision_id = gl.glossar_id	
+      AND gl.owner_id =  r.rel_id
+      AND r.object_id_one = :customer_id
+      AND r.object_id_two = org.organization_id
+      AND r.rel_type = 'contact_rels_agent'
+      ORDER BY query_number asc , 
+      [template::list::orderby_clause -name gl_glossar_portlet]
+
+    </querytext>
+</fullquery>
+
+  <fullquery name="gl_glossar_portlet_etat">
+    <querytext>  
+
+      SELECT cr.item_id as glossar_id , crr.title , crr.description , gl.source_category_id , gl.target_category_id , gl.owner_id as gl_owner_id, org.name , 1 as query_number ,
+case when gl.target_category_id is null then 0 else 1 end as sort_key  
+      FROM gl_glossars gl, cr_items cr, cr_revisions crr , organizations org  
+      WHERE cr.latest_revision = crr.revision_id 
+      AND crr.revision_id = gl.glossar_id	
+      AND gl.owner_id = org.organization_id
+      AND org.organization_id = :etat_id 
+      UNION
+      SELECT cr.item_id as glossar_id , crr.title , crr.description , gl.source_category_id , gl.target_category_id , gl.owner_id as gl_owner_id, org.name , 2 as query_number ,
+case when gl.target_category_id is null then 0 else 1 end as sort_key  
+      FROM gl_glossars gl, cr_items cr, cr_revisions crr, organizations org    
+      WHERE cr.latest_revision = crr.revision_id 
+      AND crr.revision_id = gl.glossar_id	
+      AND gl.owner_id =  r.rel_id
+      AND r.object_id_one = org.organization_id
+      AND r.object_id_two = :etat_id
+      AND r.rel_type = 'contact_rels_agent'
+      ORDER BY query_number asc , 
+      [template::list::orderby_clause -name gl_glossar_portlet]
+
+    </querytext>
+</fullquery>
+</queryset>
Index: openacs-4/packages/glossar/lib/glossar-term-list-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/lib/glossar-term-list-postgresql.xql,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/glossar/lib/glossar-term-list-postgresql.xql	13 Oct 2005 20:22:55 -0000	1.2
+++ openacs-4/packages/glossar/lib/glossar-term-list-postgresql.xql	2 Jan 2006 13:22:06 -0000	1.3
@@ -10,7 +10,7 @@
   
 <fullquery name="gl_term">
     <querytext>
-       SELECT  crr.item_id as term_id, cr.parent_id as glossar_id , crr.description , glt.source_text , glt.target_text , glt.dont_text , aco.creation_user , to_char(aco.last_modified , 'DD.MM.YY HH24:MI') as last_modified , p.first_names , p.last_name
+       SELECT  crr.item_id as term_id, cr.parent_id as glossar_id , crr.description , glt.source_text , glt.target_text , glt.dont_text , aco.creation_user , to_char(aco.last_modified , 'YYYY-MM-DD HH24:MI:SS') as last_modified , p.first_names , p.last_name
       FROM gl_glossar_terms glt, cr_items cr, cr_revisions crr , acs_objects aco , persons p 
       WHERE cr.latest_revision = crr.revision_id
       AND crr.revision_id = glt.term_id
Index: openacs-4/packages/glossar/lib/glossar-term-list.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/lib/glossar-term-list.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/glossar/lib/glossar-term-list.tcl	21 Oct 2005 14:28:33 -0000	1.3
+++ openacs-4/packages/glossar/lib/glossar-term-list.tcl	2 Jan 2006 13:22:06 -0000	1.4
@@ -23,6 +23,9 @@
 
 set glossar_language [category::get_name $source_category_id]
 set glossar_target_lan [category::get_name $target_category_id]
+set user_id [ad_conn user_id]
+set locale [lang::user::site_wide_locale -user_id $user_id]
+set time_format [lc_get -locale $locale d_fmt]
 
 if {[empty_string_p $glossar_language] } {
     set glossar_language "<div align=\"center\"> - - - - - - - - -</div>"
@@ -55,17 +58,17 @@
 
 
 
-if [empty_string_p "[ad_conn user_id]"] {
+if {[empty_string_p $user_id]} {
     ad_redirect_for_registration
 }
 
 
 if {$gl_translation_p == 1} {
     
     if {$format == "normal"} {
-	set row_list [list  source_text target_text dont_text description last_modified first_names last_name term_id]
+	set row_list [list source_text {} target_text {} dont_text {} description {} last_modified {} creation_user {} edit {} history {}]
     } else {
-    	set row_list [list source_text {} target_text {} dont_text {} description {} last_modified {} first_names {} last_name {}] 
+    	set row_list [list source_text {} target_text {} dont_text {} description {} last_modified {} creation_user {}] 
     }
 
     set source_text_lable [_ glossar.glossar_source_text]
@@ -74,9 +77,9 @@
 } else {
     
     if {$format == "normal"} {
-    set row_list [list  source_text dont_text description last_modified first_names last_name term_id]
+	set row_list [list source_text {} dont_text {} description {} last_modified {} creation_user {} edit {} history {}]
     } else {
-	set row_list [list source_text {} dont_text {} description {} last_modified {} first_names {} last_name {} ]
+	set row_list [list source_text {} dont_text {} description {} last_modified {} creation_user {}]
     }
     set source_text_lable [_ glossar.glossar_singel_text]
     set actions [list "[_ glossar.glossar_New_term]" [export_vars -base glossar-term-add {glossar_id gl_translation_p owner_id customer_id}] "[_ glossar.glossar_New_term]"]
@@ -166,54 +169,51 @@
     -elements {
 	source_text {
 	    label {"$source_text_lable"} 
-	    display_template "<a href=\"glossar-term-add?glossar_id=@gl_term.glossar_id@&gl_translation_p=@gl_term.gl_translation_p@&term_id=@gl_term.term_id@\">@gl_term.source_text@</a>"
 	}
 	target_text { 
 	    label {[_ glossar.glossar_target_text]}
-	    display_template "<a href=\"glossar-term-add?glossar_id=@gl_term.glossar_id@&gl_translation_p=@gl_term.gl_translation_p@&term_id=@gl_term.term_id@\">@gl_term.target_text@</a>"
         }
 	dont_text {
 	    label {[_ glossar.glossar_dont_text]}
-	    display_template "<a href=\"glossar-term-rev-list?glossar_id=@gl_term.glossar_id@&gl_translation_p=@gl_term.gl_translation_p@&term_id=@gl_term.term_id@\">@gl_term.dont_text@</a>"
         }
         description {
 	    label {[_ glossar.glossar_description]}
         } 
 	last_modified {
 	    label {[_ glossar.glossar_last_modified]}
 	} 
-	first_names {
-	    label {[_ glossar.glossar_first_names]}
-	    link_url_eval {[acs_community_member_url -user_id $creation_user]}
+	creation_user {
+	    label {[_ glossar.glossar_creation_user]}
+	    display_template {<a href="@gl_term.creator_url@">@gl_term.last_name@, @gl_term.first_names@</a>}
 	} 
-	last_name {
-	    label {[_ glossar.glossar_last_name]}
-	    link_url_eval {[acs_community_member_url -user_id $creation_user]}
-	} 
-	term_id {
-	    label {[_ glossar.glossar_term_edit]}
-	    display_template "<a href=\"glossar-term-add?glossar_id=@gl_term.glossar_id@&gl_translation_p=@gl_term.gl_translation_p@&term_id=@gl_term.term_id@&owner_id=@owner_id@&customer_id=@customer_id@\">[_ glossar.glossar_term_edit]</a>"
+	edit {
+	    label " "
+	    display_template {<a href="@gl_term.edit_url@"><img border="0" src="/shared/images/Edit16.gif" alt="#acs-kernel.common_Edit#" /></a>}
 	}
+	history {
+	    label " "
+	    display_template {<a href="@gl_term.history_url@">[_ glossar.glossar_term_history]</a>}
+	}
     } -actions $actions -sub_class narrow \
     -orderby_name orderby \
     -orderby {
      default_value source_text
-     source_text {
-	 label {$source_text_lable}
-	 orderby_desc {glt.source_text desc}
-	 orderby_asc {glt.source_text asc}
-	 default_direction asc
-     }
-     target_text {
-	 label {[_ glossar.glossar_target_text]}
-	 orderby_desc {glt.target_text desc}
-	 orderby_asc {glt.target_text asc}
-	 default_direction asc
-     }
-      dont_text {
+	source_text {
+	    label {$source_text_lable}
+	    orderby_desc {lower(glt.source_text) desc}
+	    orderby_asc {lower(glt.source_text) asc}
+	    default_direction asc
+	}
+	target_text {
+	    label {[_ glossar.glossar_target_text]}
+	    orderby_desc {lower(glt.target_text) desc}
+	    orderby_asc {lower(glt.target_text) asc}
+	    default_direction asc
+	}
+	dont_text {
 	    label {[_ glossar.glossar_dont_text]}
-	    orderby_desc {glt.dont_text desc}
-	    orderby_asc {glt.dont_text asc}
+	    orderby_desc {lower(glt.dont_text) desc}
+	    orderby_asc {lower(glt.dont_text) asc}
 	    default_direction asc
 	}
 	last_modified {
@@ -222,18 +222,12 @@
 	    orderby_asc {aco.last_modified asc}
 	    default_direction asc
 	}
-	first_names {
-	    label {[_ glossar.glossar_first_names]}
-	    orderby_desc {p.first_names desc}
-	    orderby_asc {p.first_names asc}
+	creation_user {
+	    label {[_ glossar.glossar_creation_user]}
+	    orderby_desc {lower(p.last_name desc, lower(p.first_names) desc}
+	    orderby_asc {lower(p.last_name) asc, lower(p.first_names) asc}
 	    default_direction asc
 	}
-	last_name {
-	    label {[_ glossar.glossar_last_name]}
-	    orderby_desc {p.last_name desc}
-	    orderby_asc {p.last_name asc}
-	    default_direction asc
-	}
     } -filters {
 	glossar_id {}
 	gl_translation_p {}
@@ -244,7 +238,7 @@
 	}
     } -page_size_variable_p 0 \
     -page_size 10 \
-    -page_flush_p t \
+    -page_flush_p 1 \
     -page_query_name gl_term_page \
     -formats {
 	normal {
@@ -269,12 +263,17 @@
 # May add extra order_by clause
 
 set hidden_vars [export_vars -form {glossar_id gl_translation_p orderby format page owner_id customer_id }] 
-db_multirow  -extend {gl_translation_p} gl_term gl_term  {} {
+db_multirow  -extend {gl_translation_p creator_url edit_url history_url} gl_term gl_term  {} {
     if {![empty_string_p $target_text]} {
 	set gl_translation_p 1
     } else {
 	set gl_translation_p 0
     }
+
+    set last_modified [lc_time_fmt $last_modified $time_format]
+    set creator_url [acs_community_member_url -user_id $creation_user]
+    set edit_url [export_vars -base glossar-term-add {glossar_id gl_translation_p term_id owner_id customer_id}]
+    set history_url [export_vars -base glossar-term-rev-list {glossar_id gl_translation_p term_id}]
 } if_no_rows {}
 
-template::list::write_output -name gl_term
\ No newline at end of file
+# template::list::write_output -name gl_term
Index: openacs-4/packages/glossar/lib/glossar-term-rev-list.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/lib/glossar-term-rev-list.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/glossar/lib/glossar-term-rev-list.tcl	21 Oct 2005 14:28:33 -0000	1.2
+++ openacs-4/packages/glossar/lib/glossar-term-rev-list.tcl	2 Jan 2006 13:22:06 -0000	1.3
@@ -31,18 +31,21 @@
 }
 
 
+set user_id [ad_conn user_id]
+set locale [lang::user::site_wide_locale -user_id $user_id]
+set time_format [lc_get -locale $locale d_fmt]
 
 
 
 if {$gl_translation_p == 1} {
 
-    set row_list [list  source_text target_text dont_text description last_modified first_names last_name ]
+    set row_list [list source_text {} target_text {} dont_text {} description {} last_modified {} creation_user {}]
     set source_text_lable [_ glossar.glossar_source_text]
     set actions ""
 
 } else {
 
-    set row_list [list  source_text dont_text description last_modified first_names last_name ]
+    set row_list [list source_text {} dont_text {} description {} last_modified {} creation_user {}]
     set source_text_lable [_ glossar.glossar_singel_text]
     set actions ""
 
@@ -93,34 +96,30 @@
 	last_modified {
 	    label {[_ glossar.glossar_modified_at]}
 	} 
-	first_names {
-	    label {[_ glossar.glossar_first_names]}
-	    link_url_eval {[acs_community_member_url -user_id $creation_user]}
+	creation_user {
+	    label {[_ glossar.glossar_creation_user]}
+	    display_template {<a href="@gl_term_rev.creator_url@">@gl_term_rev.last_name@, @gl_term_rev.first_names@</a>}
 	} 
-	last_name {
-	    label {[_ glossar.glossar_last_name]}
-	    link_url_eval {[acs_community_member_url -user_id $creation_user]}
-	} 
     } -actions $actions -sub_class narrow \
     -orderby_name orderby \
     -orderby {
      default_value source_text
-     source_text {
-	 label {$source_text_lable}
-	 orderby_desc {glt.source_text desc}
-	 orderby_asc {glt.source_text asc}
-	 default_direction asc
-     }
-     target_text {
-	 label {[_ glossar.glossar_target_text]}
-	 orderby_desc {glt.target_text desc}
-	 orderby_asc {glt.target_text asc}
-	 default_direction asc
-     }
-      dont_text {
+	source_text {
+	    label {$source_text_lable}
+	    orderby_desc {lower(glt.source_text) desc}
+	    orderby_asc {lower(glt.source_text) asc}
+	    default_direction asc
+	}
+	target_text {
+	    label {[_ glossar.glossar_target_text]}
+	    orderby_desc {lower(glt.target_text) desc}
+	    orderby_asc {lower(glt.target_text) asc}
+	    default_direction asc
+	}
+	dont_text {
 	    label {[_ glossar.glossar_dont_text]}
-	    orderby_desc {glt.dont_text desc}
-	    orderby_asc {glt.dont_text asc}
+	    orderby_desc {lower(glt.dont_text) desc}
+	    orderby_asc {lower(glt.dont_text) asc}
 	    default_direction asc
 	}
 	last_modified {
@@ -129,18 +128,12 @@
 	    orderby_asc {aco.last_modified asc}
 	    default_direction asc
 	}
-	first_names {
-	    label {[_ glossar.glossar_first_names]}
-	    orderby_desc {p.first_names desc}
-	    orderby_asc {p.first_names asc}
+	creation_user {
+	    label {[_ glossar.glossar_creation_user]}
+	    orderby_desc {lower(p.last_name desc, lower(p.first_names) desc}
+	    orderby_asc {lower(p.last_name) asc, lower(p.first_names) asc}
 	    default_direction asc
 	}
-	last_name {
-	    label {[_ glossar.glossar_last_name]}
-	    orderby_desc {p.last_name desc}
-	    orderby_asc {p.last_name asc}
-	    default_direction asc
-	}
     } -filters {
 	glossar_id {}
 	gl_translation_p {}
@@ -174,10 +167,12 @@
 # May add extra order_by clause
 
 set hidden_vars [export_vars -form {glossar_id gl_translation_p orderby format page term_id}] 
-db_multirow  -extend {gl_translation_p} gl_term_rev gl_term_rev  {} {
+db_multirow  -extend {gl_translation_p creator_url} gl_term_rev gl_term_rev  {} {
+    set creator_url [acs_community_member_url -user_id $creation_user]
+    set last_modified [lc_time_fmt $last_modified $time_format]
     if {![empty_string_p $target_text]} {
 	set gl_translation_p 1
     } else {
 	set gl_translation_p 0
     }
-} if_no_rows {}
\ No newline at end of file
+} if_no_rows {}
Index: openacs-4/packages/glossar/lib/glossar-term-rev-list.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/lib/glossar-term-rev-list.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/glossar/lib/glossar-term-rev-list.xql	20 Aug 2005 09:37:51 -0000	1.1
+++ openacs-4/packages/glossar/lib/glossar-term-rev-list.xql	2 Jan 2006 13:22:06 -0000	1.2
@@ -12,7 +12,7 @@
   
 <fullquery name="gl_term_rev">
     <querytext>
-       SELECT  crr.item_id as term_id, crr.revision_id , crr.description , glt.source_text , glt.target_text , glt.dont_text, aco.creation_user , to_char(aco.last_modified , 'DD.MM.YY HH24:MI') as last_modified , p.first_names , p.last_name 
+       SELECT  crr.item_id as term_id, crr.revision_id , crr.description , glt.source_text , glt.target_text , glt.dont_text, aco.creation_user , to_char(aco.last_modified , 'YYYY-MM-DD HH24:MI:SS') as last_modified , p.first_names , p.last_name 
       FROM gl_glossar_terms glt, cr_revisions crr, cr_items cr,  acs_objects aco, persons p 
       WHERE crr.item_id = :term_id
       AND crr.revision_id = glt.term_id
Index: openacs-4/packages/glossar/www/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/index.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/glossar/www/index.tcl	2 Nov 2005 15:12:40 -0000	1.3
+++ openacs-4/packages/glossar/www/index.tcl	2 Jan 2006 13:22:07 -0000	1.4
@@ -2,7 +2,7 @@
 
 ad_page_contract {
     
-    Index page displays all existing glossars for agiven object_id (currently its the user_id in future it will be the eta_id )
+    Index page displays all existing glossars for agiven object_id (currently its the user_id in future it will be the etat_id )
     
     @author Bjoern Kiesbye (bjoern_kiesbye@web.de)
     @creation-date 2005-07-09