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 -N -r1.5 -r1.6 --- openacs-4/packages/glossar/catalog/glossar.de_DE.ISO-8859-1.xml 2 Jan 2006 13:22:06 -0000 1.5 +++ openacs-4/packages/glossar/catalog/glossar.de_DE.ISO-8859-1.xml 4 Jan 2006 08:09:35 -0000 1.6 @@ -23,13 +23,15 @@ Kommentar Nicht verwenden Bearbeiten + Etat Glossar Dateien Vorname Als CSV laden Normale Ansicht Glossar Nr. Zuletzt ge�ndert Nachname + Ge�ndert am Glossare umhaengen Glossare zu einem anderen Kunden wechseln Neu @@ -38,6 +40,7 @@ Neuer Ausdruck Neue Uuml;bersetzung + Kunde Ausdruck Sprache Ausgangssprache @@ -58,6 +61,7 @@ Keine Glossare vorhanden! Umbenennen Suche + Berechtigungen setzen Keine Ausdr�cke vorhanden! Begriffe Name des Glossar @@ -66,5 +70,8 @@ Ausgew�hlte aktualisieren Aktualisiert von Aktualisiert am + Speichern Weitere Dateien + Die Datei %message% wurde gespeichert. + Die Dateien %message% wurden gespeichert. 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 -N -r1.5 -r1.6 --- openacs-4/packages/glossar/catalog/glossar.en_US.ISO-8859-1.xml 2 Jan 2006 13:22:06 -0000 1.5 +++ openacs-4/packages/glossar/catalog/glossar.en_US.ISO-8859-1.xml 4 Jan 2006 08:09:35 -0000 1.6 @@ -23,13 +23,15 @@ Comment Don't use Edit + Etat Glossar Files First Name Get CSV Normal View Glossar Nr. Last modified Sir Name + Modified on Move Glossars Moves glossars to another customer New @@ -38,6 +40,7 @@ New Term New Translation + Customer Term Language Source Language @@ -59,6 +62,7 @@ No Glossars exist! Rename Search + Set permissions No Terms found! Terms Title @@ -67,5 +71,8 @@ Update selected Updated by Updated on + Upload More Files + The file %message% has been saved. + The files %message% have been saved. Index: openacs-4/packages/glossar/lib/glossar-file-upload.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/lib/glossar-file-upload.tcl,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/glossar/lib/glossar-file-upload.tcl 17 Oct 2005 14:45:47 -0000 1.3 +++ openacs-4/packages/glossar/lib/glossar-file-upload.tcl 4 Jan 2006 08:09:37 -0000 1.4 @@ -27,7 +27,7 @@ } if {$upload_count != 10} { - set upload_count 1 + # set upload_count 1 } set folder_id [application_data_link::get_linked \ @@ -36,6 +36,10 @@ +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] %X" + set form_elements [list {glossar_id:integer(hidden)}] lappend form_elements [list {upload_count:integer(hidden)}] lappend form_elements [list {orderby:text(hidden),optional}] @@ -47,7 +51,7 @@ incr upload_number } -if {$upload_count == 1} {set upload_label "Upload" } else {set upload_label "[_ glossar.glossar_Done]" } +set upload_label "[_ glossar.Upload]" lappend form_elements [list "upload:text(submit),optional" [list "label" $upload_label]] lappend form_elements [list "upload_more:text(submit),optional" [list "label" "[_ glossar.Upload_More]"]] @@ -87,15 +91,15 @@ } if {[llength $message] == 1} { set message [lindex $message 1] - util_user_message -html -message "[_ glossar.lt_The_file_lindex_messa]" + util_user_message -html -message "[_ glossar.uploaded_file]" } elseif {[llength $message] > 1} { set message [join $message ", "] - util_user_message -html -message "[_ glossar.lt_The_files_join_messag]" + util_user_message -html -message "[_ glossar.uploaded_files]" } } -after_submit { if {[exists_and_not_null upload_more]} { ad_returnredirect [export_vars \ - -base "glossar-file-upload" -url {{upload_count 10 glossar_id}}] + -base "glossar-file-upload" -url {{upload_count 10} glossar_id}] } else { ad_returnredirect "glossar-file-upload?glossar_id=$glossar_id" } @@ -132,11 +136,10 @@ } creation_date { label "[_ glossar.Updated_On]" - display_col creation_date_pretty } creation_user { label "[_ glossar.Updated_By]" - display_col creation_user_pretty + display_template {@files.last_name@, @files.first_names@} } } -filters { } -orderby { @@ -163,27 +166,31 @@ normal { label "[_ glossar.Table]" layout table - row { - } + row {} } } set package_url [ad_conn package_url] -db_multirow -extend {file_url extension} -unclobber files select_files "select ci.item_id, +db_multirow -extend {file_url extension creator_url} -unclobber files select_files " + select ci.item_id, ci.name, cr.title, - to_char(ao.creation_date,'FMMon DD FMHH12:MIam') as creation_date_pretty, - contact__name(ao.creation_user) as creation_user_pretty - from cr_items ci, cr_revisions cr, acs_objects ao + to_char(ao.creation_date,'YYYY-MM-DD HH24:MI:SS') as creation_date, + ao.creation_user, + p.first_names, p.last_name + from cr_items ci, cr_revisions cr, acs_objects ao, persons p where ci.parent_id = :glossar_id and ci.live_revision = cr.revision_id and cr.revision_id = ao.object_id -[template::list::orderby_clause \ - -orderby \ - -name "files"]" { + and p.person_id = ao.creation_user +[template::list::orderby_clause -orderby -name files]" { + set file_url "${package_url}download/?file_id=$item_id" set extension [lindex [split $name "."] end] + set creator_url [acs_community_member_url -user_id $creation_user] + set creation_date [lc_time_fmt $creation_date $time_format] } + if {![empty_string_p $folder_id]} { set package_id [lindex [fs::get_folder_package_and_root $folder_id] 0] set base_url [apm_package_url_from_id $package_id] Index: openacs-4/packages/glossar/lib/glossar-list-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/lib/glossar-list-postgresql.xql,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/glossar/lib/glossar-list-postgresql.xql 21 Oct 2005 18:53:34 -0000 1.4 +++ openacs-4/packages/glossar/lib/glossar-list-postgresql.xql 4 Jan 2006 08:09:37 -0000 1.5 @@ -14,13 +14,31 @@ - SELECT cr.item_id as glossar_id , crr.title , crr.description , gl.source_category_id , gl.target_category_id , gl.owner_id, -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 - WHERE cr.latest_revision = crr.revision_id - AND crr.revision_id = gl.glossar_id - AND gl.owner_id = :owner_id - [template::list::orderby_clause -orderby -name gl_glossar] + SELECT cr_items.item_id as glossar_id, cr_revisions.title, cr_revisions.description, + gl_glossars.source_category_id, gl_glossars.target_category_id, + gl_glossars.owner_id as gl_owner_id, organizations.name, 1 as query_number, + case when gl_glossars.target_category_id is null then 0 else 1 end as sort_key, + organizations.organization_id, lower(cr_revisions.title) as gl_title + FROM gl_glossars, cr_items, cr_revisions, organizations + WHERE cr_items.latest_revision = cr_revisions.revision_id + AND cr_revisions.revision_id = gl_glossars.glossar_id + AND gl_glossars.owner_id = organizations.organization_id + AND organizations.organization_id = :owner_id + UNION + SELECT cr_items.item_id as glossar_id, cr_revisions.title as gl_title, cr_revisions.description, + gl_glossars.source_category_id, gl_glossars.target_category_id, + gl_glossars.owner_id as gl_owner_id, organizations.name, 2 as query_number, + case when gl_glossars.target_category_id is null then 0 else 1 end as sort_key, + organizations.organization_id, lower(cr_revisions.title) as gl_title + FROM gl_glossars, cr_items, cr_revisions, organizations, acs_rels + WHERE cr_items.latest_revision = cr_revisions.revision_id + AND cr_revisions.revision_id = gl_glossars.glossar_id + AND gl_glossars.owner_id = acs_rels.rel_id + AND ((acs_rels.object_id_one = organizations.organization_id AND acs_rels.object_id_two = :owner_id) + OR (acs_rels.object_id_two = organizations.organization_id AND acs_rels.object_id_one = :owner_id)) + AND acs_rels.rel_type = 'contact_rels_etat' + ORDER BY query_number asc, + [template::list::orderby_clause -name gl_glossar] 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 -N -r1.7 -r1.8 --- openacs-4/packages/glossar/lib/glossar-list.tcl 2 Jan 2006 13:22:06 -0000 1.7 +++ openacs-4/packages/glossar/lib/glossar-list.tcl 4 Jan 2006 08:09:37 -0000 1.8 @@ -31,8 +31,6 @@ set page_size "25" } -# set glossar_id "0" -# set gl_translation_p 0 set user_id [ad_conn user_id] if {[empty_string_p $user_id]} { @@ -65,33 +63,25 @@ # terms as well? - +set actions [list "[_ glossar.New_Lecture]" [export_vars -base "${base_url}/glossar-add" {owner_id {gl_translation_p 0} target_id }] "[_ glossar.New_Lecture]"] -if {[db_0or1row owner_type_check {SELECT object_id_one , object_id_two FROM acs_rels WHERE rel_id = :owner_id}]} { - set customer_id $object_id_two - set owner_id $object_id_one -} else { +lappend actions "[_ glossar.New_Translation]" [export_vars -base "${base_url}/glossar-add" {owner_id {gl_translation_p 1} target_id}] "[_ glossar.Add_New_Translation]" - if {![info exists customer_id]} { - set customer_id "" - } - - set owner_id $owner_id -} - -set actions [list "[_ glossar.New_Lecture]" [export_vars -base "${base_url}/glossar-add" {owner_id gl_translation_p customer_id }] "[_ 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 customer_id}] "[_ glossar.Add_New_Translation]" - set return_url [ad_conn url] set move_url "[export_vars -base "${base_url}/glossar-move" {$return_url}]" +if {[group::party_member_p -party_id $owner_id -group_name Etat]} { + set target_name "[_ glossar.glossar_organization]" +} else { + set target_name "[_ glossar.glossar_etat]" +} + + set row_list [list checkbox {} title {} description {} source_category {} target_category {} glossar_edit {} glossar_files {}] set no_perm_p 0 +set return_url [ad_conn url] if [permission::permission_p -object_id $owner_id -privilege admin] { @@ -123,6 +113,10 @@ label {[_ glossar.glossar_title]} display_template "@gl_glossar.title@" } + name { + label $target_name + display_template {@gl_glossar.name@ } + } description { label {[_ glossar.glossar_description]} } @@ -135,24 +129,28 @@ glossar_edit { display_template {#acs-kernel.common_Edit#} } - glossar_files { - display_template "[_ glossar.Files] (@gl_glossar.files_count@)" + glossar_perm { + display_template {#glossar.set_permissions#} } + glossar_files { + display_template {#glossar.Files# (@gl_glossar.files_count@)} + } } -actions $actions -sub_class narrow \ - -bulk_actions {"[_ glossar.glossar_Move]" $move_url "[_ glossar.glossar_Move2]"} \ + -bulk_actions [list "[_ glossar.glossar_Move]" $move_url "[_ glossar.glossar_Move2]"] \ + -bulk_action_export_vars {return_url} \ -orderby { default_value title glossar_id { label {[_ glossar.glossar_id]} - orderby_desc {sort_key asc , gl.glossar_id desc} - orderby_asc {sort_key asc , gl.glossar_id asc} + orderby_desc {sort_key asc , glossar_id desc} + orderby_asc {sort_key asc , glossar_id asc} default_direction desc } title { label {[_ glossar.glossar_title]} - orderby_desc {sort_key asc , lower(crr.title) desc} - orderby_asc {sort_key asc , lower(crr.title) asc} + orderby_desc {sort_key asc , gl_title desc} + orderby_asc {sort_key asc, gl_title asc} default_direction asc } } -orderby_name orderby \ @@ -180,7 +178,7 @@ - db_multirow -extend {source_category target_category gl_translation_p 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 permission_url title_url target_url files_count} gl_glossar gl_glossar {} { if {![empty_string_p $target_category_id]} { set gl_translation_p 1 } else { @@ -189,9 +187,11 @@ set files_count [db_string get_files_count { } -default 0] 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}]" set edit_url "[export_vars -base "${base_url}/glossar-edit" {glossar_id}]" + set permission_url "[export_vars -base "/permissions/one" {{object_id $glossar_id} {application_url [ad_return_url]}}]" set files_url "[export_vars -base "${base_url}/glossar-file-upload" {glossar_id}]" + set target_url "/contacts/$organization_id" } if_no_rows { 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 -N -r1.3 -r1.4 --- openacs-4/packages/glossar/lib/glossar-term-list-postgresql.xql 2 Jan 2006 13:22:06 -0000 1.3 +++ openacs-4/packages/glossar/lib/glossar-term-list-postgresql.xql 4 Jan 2006 08:09:37 -0000 1.4 @@ -8,15 +8,49 @@ + + + SELECT gi.item_id, g.owner_id, o.name + FROM gl_glossars g, cr_items gi, organizations o, acs_rels r + WHERE gi.latest_revision = g.glossar_id + AND g.owner_id = o.organization_id + AND g.source_category_id = :source_category_id + AND g.target_category_id = :target_category_id + AND r.rel_id = :owner_id + AND r.object_id_one = o.organization_id + AND r.rel_type = 'contact_rels_etat' + + + + + + SELECT gi.item_id, g.owner_id, o.name + FROM gl_glossars g, cr_items gi, organizations o, acs_rels r + WHERE gi.latest_revision = g.glossar_id + AND g.owner_id = r.rel_id + AND g.source_category_id = :source_category_id + AND g.target_category_id = :target_category_id + AND r.object_id_one = :owner_id + AND r.object_id_two = o.organization_id + AND r.rel_type = 'contact_rels_etat' + + + - 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 + SELECT crr.item_id as term_id, crr.description, glt.source_text, + glt.target_text, glt.dont_text, aco.creation_user, p.first_names, p.last_name, + to_char(aco.last_modified , 'YYYY-MM-DD HH24:MI:SS') as last_modified, g.owner_id, + gi.item_id as gl_glossar_id + FROM gl_glossar_terms glt, cr_items cr, cr_revisions crr , acs_objects aco , persons p, + gl_glossars g, cr_items gi WHERE cr.latest_revision = crr.revision_id AND crr.revision_id = glt.term_id AND crr.revision_id = aco.object_id - AND aco.creation_user = p.person_id - AND cr.parent_id = :glossar_id + AND aco.creation_user = p.person_id + AND cr.parent_id in ([join $glossar_ids ,]) + AND g.glossar_id = gi.latest_revision + AND gi.item_id = cr.parent_id $where_customer_id [template::list::filter_where_clauses -and -name gl_term] $where_format [template::list::page_where_clause -name gl_term] @@ -26,21 +60,25 @@ - SELECT crr.item_id - FROM cr_items cr, cr_revisions crr , gl_glossar_terms glt, acs_objects aco , persons p + SELECT crr.item_id + FROM cr_items cr, cr_revisions crr , gl_glossar_terms glt, acs_objects aco , persons p, + gl_glossars g, cr_items gi WHERE cr.latest_revision = crr.revision_id AND crr.revision_id = glt.term_id AND crr.revision_id = aco.object_id AND aco.creation_user = p.person_id - AND cr.parent_id = :glossar_id + AND cr.parent_id in ([join $glossar_ids ,]) + AND g.glossar_id = gi.latest_revision + AND gi.item_id = cr.parent_id [template::list::filter_where_clauses -and -name gl_term] select - g.object_id, + g.object_id, + g.owner_id, g.title as glossar_title, g.description as glossar_comment, g.source_category_id, Index: openacs-4/packages/glossar/lib/glossar-term-list.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/lib/glossar-term-list.adp,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/glossar/lib/glossar-term-list.adp 21 Oct 2005 14:28:33 -0000 1.4 +++ openacs-4/packages/glossar/lib/glossar-term-list.adp 4 Jan 2006 08:09:37 -0000 1.5 @@ -38,4 +38,3 @@
- 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 -N -r1.4 -r1.5 --- openacs-4/packages/glossar/lib/glossar-term-list.tcl 2 Jan 2006 13:22:06 -0000 1.4 +++ openacs-4/packages/glossar/lib/glossar-term-list.tcl 4 Jan 2006 08:09:37 -0000 1.5 @@ -7,7 +7,7 @@ # @arch-tag: beb88796-955e-4cbd-af5e-3919597c7ed1 # @cvs-id $Id$ -foreach required_param {glossar_id gl_translation_p searchterm customer_id owner_id} { +foreach required_param {glossar_id searchterm} { if {![info exists $required_param]} { return -code error "$required_param is a required parameter." } @@ -25,7 +25,8 @@ 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] +set time_format "[lc_get -locale $locale d_fmt] %X" +set freelancer_p [group::member_p -user_id $user_id -group_name Freelancer] if {[empty_string_p $glossar_language] } { set glossar_language "
- - - - - - - - -
" @@ -63,56 +64,68 @@ } -if {$gl_translation_p == 1} { - - if {$format == "normal"} { - 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 {} creation_user {}] +if {$format == "normal"} { + set row_list [list source_text {} target_text {} dont_text {} description {} owner {} last_modified {} creation_user {} edit {} history {}] +} else { + set row_list [list source_text {} target_text {} dont_text {} description {} owner {} last_modified {} creation_user {}] +} + +set glossar_ids $glossar_id +set organization_p [organization::organization_p -party_id $owner_id] +if {$organization_p} { + # glossar is etat-glossar or customer-glossar + set glossar_query_name glossars_etat + set glossar_owner_lable "[_ glossar.glossar_organization]" + + if {![group::party_member_p -party_id $owner_id -group_name Etat]} { + # if glossar belongs to customer, dont show + set row_list [lreplace $row_list 8 9] } +} else { + # glossar is relation-glossar + set glossar_query_name glossars_rel + set glossar_owner_lable "[_ glossar.glossar_etat]" +} +# get glossars with matching languages that belongs to the relationships +db_foreach $glossar_query_name {} { + lappend glossar_ids $item_id + set owners($owner_id) $name +} + +if {![empty_string_p $target_category_id]} { + set source_text_lable [_ glossar.glossar_source_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]" ] + set actions [list "[_ glossar.glossar_New_term]" [export_vars -base glossar-term-add {glossar_id}] "[_ glossar.glossar_New_term]" ] } else { - - if {$format == "normal"} { - 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 {} creation_user {}] - } + + set row_list [lreplace $row_list 2 3] 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]"] + set actions [list "[_ glossar.glossar_New_term]" [export_vars -base glossar-term-add {glossar_id}] "[_ glossar.glossar_New_term]"] } -if [permission::permission_p -object_id $owner_id -privilege admin] { +if {[permission::permission_p -object_id $glossar_id -privilege admin]} { - set cur_format $format if {$format == "normal"} { set where_format " AND " - set format "csv" - lappend actions "[_ glossar.glossar_Format_CSV]" [export_vars -base glossar-term-list {glossar_id gl_translation_p format owner_id customer_id}] "[_ glossar.glossar_New2]" + lappend actions "[_ glossar.glossar_Format_CSV]" [export_vars -base glossar-term-list {glossar_id {format csv}}] "[_ glossar.glossar_New2]" } else { set where_format " " - set format "normal" - lappend actions "[_ glossar.glossar_Format_Normal]" [export_vars -base glossar-term-list {glossar_id gl_translation_p format customer_id}] "[_ glossar.glossar_New2]" - + lappend actions "[_ glossar.glossar_Format_Normal]" [export_vars -base glossar-term-list {glossar_id {format normal}}] "[_ glossar.glossar_New2]" } - - set format $cur_format - -} elseif {[permission::permission_p -object_id $owner_id -privilege create]} { +} elseif {[permission::permission_p -object_id $glossar_id -privilege create]} { set actions $actions set where_format " AND " -} elseif {[permission::permission_p -object_id $owner_id -privilege read]} { +} elseif {[permission::permission_p -object_id $glossar_id -privilege read]} { set actions "" set where_format " AND " @@ -129,7 +142,7 @@ # Build search_clause -set search_term_types [list source_text target_text dont_text p.first_names p.last_name] +set search_term_types [list source_text target_text dont_text first_names last_name] if [exists_and_not_null searchterm] { # Split the search terms and connect them @@ -146,29 +159,22 @@ if { [empty_string_p $customer_id] } { - set where_customer_id " " - } else { - set where_customer_id " AND glt.owner_id = $customer_id " - } - -ns_log notice "FORMAT 3: $format" - template::list::create \ -name gl_term \ -multirow gl_term \ -key crr.item_id \ -no_data "[_ glossar.term_None]" \ + -pass_properties {glossar_id} \ -selected_format $format \ - -pass_properties {glossar_id customer_id owner_id} \ -elements { source_text { - label {"$source_text_lable"} + label {$source_text_lable} } target_text { label {[_ glossar.glossar_target_text]} @@ -179,6 +185,9 @@ description { label {[_ glossar.glossar_description]} } + owner { + label {$glossar_owner_lable} + } last_modified { label {[_ glossar.glossar_last_modified]} } @@ -192,14 +201,14 @@ } history { label " " - display_template {[_ glossar.glossar_term_history]} + display_template {#glossar.glossar_term_history#} } } -actions $actions -sub_class narrow \ -orderby_name orderby \ -orderby { default_value source_text source_text { - label {$source_text_lable} + label {$source_text_lable} orderby_desc {lower(glt.source_text) desc} orderby_asc {lower(glt.source_text) asc} default_direction asc @@ -230,8 +239,6 @@ } } -filters { glossar_id {} - gl_translation_p {} - customer_id {} searchterm { label "[_ glossar.glossar_term_search]" where_clause $search_where_clause @@ -244,36 +251,42 @@ normal { label "[_ acs-templating.Table]" layout table - elements $row_list + row $row_list } csv { label "[_ acs-templating.CSV]" output csv page_size 0 row $row_list - } } -# This elements will be added at least - - -# 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 creator_url edit_url history_url} gl_term gl_term {} { + +db_multirow -extend {gl_translation_p creator_url edit_url history_url owner} gl_term gl_term {} { if {![empty_string_p $target_text]} { set gl_translation_p 1 } else { set gl_translation_p 0 } + if {$gl_glossar_id != $glossar_id} { + # entry is from different glossar + if {$freelancer_p && $organization_p} { + set owner "[_ glossar.glossar_organization]" + } else { + set owner "$owners($owner_id)" + } + } else { + set owner "" + } + 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}] + set edit_url [export_vars -base glossar-term-add {glossar_id term_id}] + set history_url [export_vars -base glossar-term-rev-list {glossar_id term_id}] } if_no_rows {} # 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 -N -r1.3 -r1.4 --- openacs-4/packages/glossar/lib/glossar-term-rev-list.tcl 2 Jan 2006 13:22:06 -0000 1.3 +++ openacs-4/packages/glossar/lib/glossar-term-rev-list.tcl 4 Jan 2006 08:09:37 -0000 1.4 @@ -9,7 +9,7 @@ -foreach required_param {glossar_id term_id gl_translation_p searchterm} { +foreach required_param {glossar_id term_id searchterm} { if {![info exists $required_param]} { return -code error "$required_param is a required parameter." } @@ -33,11 +33,17 @@ 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] +set time_format "[lc_get -locale $locale d_fmt] %X" +db_1row get_glossar_data { + select g.target_category_id + from gl_glossars g, cr_items gi + where g.glossar_id = gi.latest_revision + and gi.item_id = :glossar_id +} -if {$gl_translation_p == 1} { +if {![empty_string_p $target_category_id]} { set row_list [list source_text {} target_text {} dont_text {} description {} last_modified {} creation_user {}] set source_text_lable [_ glossar.glossar_source_text] @@ -77,12 +83,12 @@ -name gl_term_rev \ -multirow gl_term_rev \ -key crr.revision_id \ - -no_data "[_ glossar.term_None]" \ -selected_format normal \ + -no_data "[_ glossar.term_None]" \ -pass_properties {glossar_id} \ -elements { source_text { - label {"$source_text_lable"} + label {$source_text_lable} } target_text { label {[_ glossar.glossar_target_text]} @@ -136,7 +142,6 @@ } } -filters { glossar_id {} - gl_translation_p {} term_id {} searchterm { label "[_ glossar.glossar_term_search]" @@ -150,13 +155,13 @@ normal { label "[_ acs-templating.Table]" layout table - elements $row_list + row $row_list } csv { label "[_ acs-templating.CSV]" output csv page_size 2 - elements $row_list + row $row_list } } Index: openacs-4/packages/glossar/tcl/glossar-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/tcl/glossar-callback-procs.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/glossar/tcl/glossar-callback-procs.tcl 4 Jan 2006 08:09:38 -0000 1.1 @@ -0,0 +1,15 @@ +# packages/glossar/tcl/glossar-callback-procs.tcl + +ad_library { + + @author Timo Hentschel (timo@timohentschel.de) + @creation-date 2006-01-03 + @arch-tag: 52912475-f200-4cac-a89f-c4db0e7df38c + @cvs-id $Id: +} + + +ad_proc -public -callback gl_glossar::install::after_instantiate { + {-package_id:required} +} { +} Index: openacs-4/packages/glossar/tcl/glossar-install-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/tcl/glossar-install-procs.tcl,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/glossar/tcl/glossar-install-procs.tcl 14 Dec 2005 17:34:53 -0000 1.5 +++ openacs-4/packages/glossar/tcl/glossar-install-procs.tcl 4 Jan 2006 08:09:38 -0000 1.6 @@ -51,11 +51,7 @@ package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "#glossar.from_default_object_id#"]] acs_object package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "#glossar.to_default_object_id#"]] acs_object - - package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "#glossar.from_default_object_id#"]] acs_object - - package_instantiate_object -package_name acs_object -var_list [list [list new__context_id $package_id] [list new__package_id $package_id] [list new__title "#glossar.to_default_object_id#"]] acs_object - + callback gl_glossar::install::after_instantiate -package_id $package_id } @@ -87,4 +83,4 @@ } } -} \ No newline at end of file +} Index: openacs-4/packages/glossar/www/glossar-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/glossar-add.tcl,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/glossar/www/glossar-add.tcl 13 Nov 2005 13:39:56 -0000 1.4 +++ openacs-4/packages/glossar/www/glossar-add.tcl 4 Jan 2006 08:09:39 -0000 1.5 @@ -12,7 +12,7 @@ owner_id:notnull glossar_id:optional gl_translation_p:notnull - {customer_id ""} + {target_id ""} } -properties { } -validate { } -errors { @@ -58,7 +58,7 @@ {source_category_id:integer(category) {label "[_ glossar.glossar_source_category]"} {category_tree_id $source_tree_id} {category_assign_single_p t} {category_require_category_p t}} - {target_category_id:integer(category) {label "[_ glossar.glossar_target_category]"} {category_tree_id $target_tree_id} {category_assign_single_p t} {category_require_category_p f}} + {target_category_id:integer(category) {label "[_ glossar.glossar_target_category]"} {category_tree_id $target_tree_id} {category_assign_single_p t} {category_require_category_p t}} } @@ -77,18 +77,16 @@ set group_id [group::get_id -group_name "Etat"] set is_etat_p [db_string check_if_is_etat {} -default 0] -if {!$is_etat_p} { - set options [db_list_of_lists get_etats {}] - set options [concat [list [list "" ""]] $options] +set options [db_list_of_lists get_etats {}] +set options [concat [list [list "" ""]] $options] +if {[llength $options] > 1} { ad_form -extend -name glossar-add -form { - {etat_id:integer(select),optional {label "[_ glossar.glossar_etat]"} - {options $options} - } + {target_id:integer(select),optional {label "[_ glossar.glossar_etat]"} {options $options}} } } else { ad_form -extend -name glossar-add -form { - {etat_id:text(hidden) {value [db_null]}} + {target_id:text(hidden) {value ""}} } } @@ -99,26 +97,32 @@ -new_request { set source_category_id "" set target_category_id "" - set etat_id "" set description "" set title "" } -edit_request { db_1row get_glossar { } +} -on_submit { + + set old_owner_id $owner_id + if {![empty_string_p $target_id]} { + db_1row get_rel_id {} + } + } -new_data { if {![info exists target_category_id]} { set target_category_id [db_null] } - gl_glossar::new -owner_id $owner_id -title "$title" -description "$description" -source_category_id $source_category_id -target_category_id $target_category_id -package_id $package_id -etat_id $etat_id + gl_glossar::new -owner_id $owner_id -title "$title" -description "$description" -source_category_id $source_category_id -target_category_id $target_category_id -package_id $package_id -etat_id "" } -edit_data { - gl_glossar::edit -glossar_item_id $glossar_id -title "$title" -description "$description" -source_category_id $source_category_id -target_category_id $target_category_id -owner_id $owner_id -etat_id $etat_id + gl_glossar::edit -glossar_item_id $glossar_id -title "$title" -description "$description" -source_category_id $source_category_id -target_category_id $target_category_id -owner_id $owner_id -etat_id "" } -after_submit { - ad_returnredirect [export_vars -base index {gl_translation_p glossar_id customer_id owner_id}] + ad_returnredirect "/contacts/$old_owner_id" ad_script_abort } Index: openacs-4/packages/glossar/www/glossar-add.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/glossar-add.xql,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/glossar/www/glossar-add.xql 13 Nov 2005 13:39:56 -0000 1.3 +++ openacs-4/packages/glossar/www/glossar-add.xql 4 Jan 2006 08:09:39 -0000 1.4 @@ -66,4 +66,14 @@
+ + + SELECT ar.rel_id as owner_id + FROM acs_rels ar + WHERE ((object_id_one = :owner_id and object_id_two = :target_id) + OR (object_id_one = :target_id and object_id_two = :owner_id)) + AND ar.rel_type = 'contact_rels_etat' + + +
Index: openacs-4/packages/glossar/www/glossar-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/glossar-edit.tcl,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/glossar/www/glossar-edit.tcl 13 Nov 2005 13:39:56 -0000 1.3 +++ openacs-4/packages/glossar/www/glossar-edit.tcl 4 Jan 2006 08:09:39 -0000 1.4 @@ -29,17 +29,17 @@ ad_form -name glossar-edit -form { - {title:text(text) {lable "[_ glossar.glossar_title]"} } - {comment:text(textarea),optional {lable "[_ glossar.glossar_comment]"} {html{rows 4 cols 30} }} - {glossar_id:integer(hidden)} + {glossar_id:key} + {title:text(text) {label "[_ glossar.Title]"} } + {description:text(textarea),optional {label "[_ glossar.Comment]"} {html{rows 4 cols 30} }} } if {![empty_string_p $target_category_id]} { ad_form -extend -name glossar-edit -form { {source_category_id:integer(category) {label "[_ glossar.glossar_source_category]"} {category_tree_id $source_tree_id} {category_assign_single_p t} {category_require_category_p t}} - {target_category_id:integer(category) {label "[_ glossar.glossar_target_category]"} {category_tree_id $target_tree_id} {category_assign_single_p t} {category_require_category_p f}} + {target_category_id:integer(category) {label "[_ glossar.glossar_target_category]"} {category_tree_id $target_tree_id} {category_assign_single_p t} {category_require_category_p t}} } @@ -59,23 +59,32 @@ set group_id [group::get_id -group_name "Etat"] set is_etat_p [db_string check_if_is_etat {} -default 0] -if {!$is_etat_p} { - set options [db_list_of_lists get_etats {}] - set options [concat [list [list "" ""]] $options] +set options [db_list_of_lists get_etats {}] +set options [concat [list [list "" ""]] $options] +if {[llength $options] > 1} { ad_form -extend -name glossar-edit -form { - {etat_id:integer(select),optional {label "[_ glossar.glossar_etat]"} {options $options}} + {target_id:integer(select),optional {label "[_ glossar.glossar_etat]"} {options $options}} } } else { ad_form -extend -name glossar-edit -form { - {etat_id:text(hidden) {value [db_null]}} + {target_id:text(hidden) {value ""}} } } ad_form -extend -name glossar-edit -form { - {owner_id:key} + {owner_id:text(hidden)} +} -edit_request { } -edit_data { - gl_glossar::edit -glossar_item_id $glossar_id -title $title -description $comment -source_category_id $source_category_id -target_category_id $target_category_id -owner_id $owner_id -etat_id $etat_id -} -edit_request { + set old_owner_id $owner_id + if {![empty_string_p $target_id]} { + db_1row get_rel_id {} + } + + gl_glossar::edit -glossar_item_id $glossar_id -title $title -description $comment -source_category_id $source_category_id -target_category_id $target_category_id -owner_id $owner_id -etat_id "" + +} -after_submit { + ad_returnredirect "/contacts/$old_owner_id" + ad_script_abort } Index: openacs-4/packages/glossar/www/glossar-edit.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/glossar-edit.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/glossar/www/glossar-edit.xql 13 Nov 2005 13:39:56 -0000 1.1 +++ openacs-4/packages/glossar/www/glossar-edit.xql 4 Jan 2006 08:09:39 -0000 1.2 @@ -63,4 +63,14 @@ + + + SELECT ar.rel_id as owner_id + FROM acs_rels ar + WHERE ((object_id_one = :owner_id and object_id_two = :target_id) + OR (object_id_one = :target_id and object_id_two = :owner_id)) + AND ar.rel_type = 'contact_rels_etat' + + + Index: openacs-4/packages/glossar/www/glossar-move.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/glossar-move.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/glossar/www/glossar-move.tcl 13 Nov 2005 13:39:56 -0000 1.1 +++ openacs-4/packages/glossar/www/glossar-move.tcl 4 Jan 2006 08:09:39 -0000 1.2 @@ -15,6 +15,7 @@ set context "search" set search_id "" set glossar_id [string trim $glossar_id "{}"] +set customer_group_id [group::get_id -group_name "Customers"] ad_form -name search -export {glossar_id} -form { @@ -36,4 +37,4 @@ } db_multirow -extend {move_url} customers get_customers_from_prefix {} { set move_url [export_vars -base "move-glossar" {{customer_id $organization_id} glossar_id:multiple return_url}] -} \ No newline at end of file +} Index: openacs-4/packages/glossar/www/glossar-move.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/glossar-move.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/glossar/www/glossar-move.xql 13 Nov 2005 13:39:56 -0000 1.1 +++ openacs-4/packages/glossar/www/glossar-move.xql 4 Jan 2006 08:09:39 -0000 1.2 @@ -5,9 +5,10 @@ SELECT o.name , o.organization_id - FROM organizations o, parties p + FROM organizations o, parties p, group_member_map m WHERE o.organization_id = p.party_id - AND o.organization_id in ([template::util::tcl_to_sql_list [group::get_members -group_id [group::get_id -group_name "Customers"]]]) + AND o.organization_id = m.member_id + AND m.group_id = :customer_group_id [contact::search_clause -and -search_id $search_id -query $query -party_id "o.party_id" -revision_id "revision_id"] Index: openacs-4/packages/glossar/www/glossar-term-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/glossar-term-add.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/glossar/www/glossar-term-add.tcl 23 Aug 2005 19:40:47 -0000 1.2 +++ openacs-4/packages/glossar/www/glossar-term-add.tcl 4 Jan 2006 08:09:39 -0000 1.3 @@ -11,9 +11,6 @@ } { glossar_id:notnull term_id:optional - gl_translation_p:notnull - owner_id:notnull - {customer_id ""} {source_text ""} {target_text ""} {dont_text ""} @@ -26,31 +23,28 @@ set context "[_ glossar.glossar_term_add]" set title "[_ glossar.Add_a_Term_to_a_Glossar]" -# Get customer_id if exist -if {[info exists term_id ]} { - db_0or1row get_customer_id {SELECT owner_id as customer_id FROM gl_glossar_terms gt , cr_items cr WHERE gt.term_id = cr.latest_revision AND cr.item_id = :term_id} +db_1row get_glossar_data { + select g.target_category_id + from gl_glossars g, cr_items gi + where g.glossar_id = gi.latest_revision + and gi.item_id = :glossar_id } -ad_form -name glossar-term-add -export {glossar_id gl_translation_p owner_id customer_id} -form { - +ad_form -name glossar-term-add -export {glossar_id} -form { {term_id:key} } -if {$gl_translation_p == 1} { +if {![empty_string_p $target_category_id]} { ad_form -extend -name glossar-term-add -form { {source_text:text(textarea),optional {label "[_ glossar.glossar_source_text]"} {html {rows 4 cols 60}}} {target_text:text(textarea),optional {label "[_ glossar.glossar_target_text]"} {html {rows 4 cols 60}}} - } } else { ad_form -extend -name glossar-term-add -form { {source_text:text(textarea),optional {label "[_ glossar.glossar_singel_text]"} {html {rows 4 cols 60}}} - - } - } @@ -80,13 +74,13 @@ } -new_data { - set term_id [gl_glossar::term_new -term_id $term_id -glossar_id $glossar_id -source_text "$source_text" -target_text "$target_text" -dont_text "$dont_text" -description "$description" -customer_id "$customer_id"] + set term_id [gl_glossar::term_new -term_id $term_id -glossar_id $glossar_id -source_text "$source_text" -target_text "$target_text" -dont_text "$dont_text" -description "$description"] } -edit_data { - gl_glossar::term_edit -term_id $term_id -source_text $source_text -target_text $target_text -dont_text $dont_text -description $description -customer_id $customer_id + gl_glossar::term_edit -term_id $term_id -source_text $source_text -target_text $target_text -dont_text $dont_text -description $description } -after_submit { - ad_returnredirect [export_vars -base glossar-term-list {gl_translation_p glossar_id customer_id owner_id}] + ad_returnredirect [export_vars -base glossar-term-list {glossar_id}] ad_script_abort } Index: openacs-4/packages/glossar/www/glossar-term-list.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/glossar-term-list.adp,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/glossar/www/glossar-term-list.adp 23 Aug 2005 19:40:47 -0000 1.2 +++ openacs-4/packages/glossar/www/glossar-term-list.adp 4 Jan 2006 08:09:39 -0000 1.3 @@ -2,4 +2,4 @@ #glossar.Glossars# index - \ No newline at end of file + \ No newline at end of file Index: openacs-4/packages/glossar/www/glossar-term-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/glossar-term-list.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/glossar/www/glossar-term-list.tcl 20 Aug 2005 09:37:51 -0000 1.1 +++ openacs-4/packages/glossar/www/glossar-term-list.tcl 4 Jan 2006 08:09:39 -0000 1.2 @@ -10,12 +10,9 @@ @cvs-id $Id$ } { glossar_id:notnull - gl_translation_p:notnull - owner_id:notnull {page ""} {orderby ""} {searchterm ""} - {customer_id ""} {format "normal"} } -properties { glossar_id @@ -30,7 +27,3 @@ } -errors { } -if {$customer_id == $owner_id} { - set customer_id "" -} - Index: openacs-4/packages/glossar/www/glossar-term-rev-list.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/glossar-term-rev-list.adp,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/glossar/www/glossar-term-rev-list.adp 23 Aug 2005 19:40:47 -0000 1.2 +++ openacs-4/packages/glossar/www/glossar-term-rev-list.adp 4 Jan 2006 08:09:39 -0000 1.3 @@ -2,4 +2,4 @@ #glossar.Glossars# index - \ No newline at end of file + \ No newline at end of file Index: openacs-4/packages/glossar/www/glossar-term-rev-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/glossar-term-rev-list.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/glossar/www/glossar-term-rev-list.tcl 20 Aug 2005 09:37:51 -0000 1.1 +++ openacs-4/packages/glossar/www/glossar-term-rev-list.tcl 4 Jan 2006 08:09:39 -0000 1.2 @@ -10,21 +10,16 @@ @cvs-id $Id$ } { glossar_id:notnull - gl_translation_p:notnull term_id:notnull {page ""} {orderby ""} {searchterm ""} } -properties { glossar_id - gl_translation_p page orderby searchterm term_id } -validate { } -errors { } - - - Index: openacs-4/packages/glossar/www/move-glossar.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/move-glossar.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/glossar/www/move-glossar.tcl 13 Nov 2005 13:39:56 -0000 1.1 +++ openacs-4/packages/glossar/www/move-glossar.tcl 4 Jan 2006 08:09:39 -0000 1.2 @@ -19,7 +19,7 @@ -owner_id $customer_id \ -source_category_id $source_category_id\ -target_category_id $target_category_id\ - -etat_id $etat_id \ + -etat_id "" \ -title $title \ -description $description } Index: openacs-4/packages/glossar/www/resources/file.gif =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/resources/file.gif,v diff -u -N Binary files differ Index: openacs-4/packages/glossar/www/resources/folder.gif =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/resources/folder.gif,v diff -u -N Binary files differ Index: openacs-4/packages/glossar/www/resources/padlock.gif =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/glossar/www/resources/padlock.gif,v diff -u -N Binary files differ