Fisheye: Tag 1.3 refers to a dead (removed) revision in file `openacs-4/.project'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.2 refers to a dead (removed) revision in file `openacs-4/contrib/packages/form-to-mail/www/.DS_Store'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/contrib/packages/project-manager/project-manager.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/Attic/project-manager.info,v diff -u -r1.35 -r1.36 --- openacs-4/contrib/packages/project-manager/project-manager.info 13 Jan 2005 13:54:34 -0000 1.35 +++ openacs-4/contrib/packages/project-manager/project-manager.info 24 Feb 2005 13:32:47 -0000 1.36 @@ -7,14 +7,14 @@ f f - + Jade Rubick Project management tool for OpenACS - 2004-12-22 + 2005-01-13 Integrated Bakery Resources Track tasks, estimates and actual progress for a project. See the <a href="http://openacs.org/projects/dotwrk/project_management/">project page</a> for more information. - + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/contrib/packages/project-manager/catalog/project-manager.de_DE.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/contrib/packages/project-manager/sql/postgresql/project-manager-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/sql/postgresql/Attic/project-manager-drop.sql,v diff -u -r1.16 -r1.17 --- openacs-4/contrib/packages/project-manager/sql/postgresql/project-manager-drop.sql 13 Jan 2005 13:54:35 -0000 1.16 +++ openacs-4/contrib/packages/project-manager/sql/postgresql/project-manager-drop.sql 24 Feb 2005 13:32:57 -0000 1.17 @@ -161,19 +161,19 @@ drop sequence pm_process_task_seq; drop sequence pm_process_task_dependency_seq; -drop table pm_process_task_assignment; -drop table pm_process_task_dependency; -drop table pm_process_task; -drop table pm_process; +drop table pm_process_task_assignment cascade; +drop table pm_process_task_dependency cascade; +drop table pm_process_task cascade; +drop table pm_process cascade; --------- -- OTHERS --------- -drop table pm_default_roles; -drop table pm_project_assignment; -drop table pm_task_assignment; -drop table pm_roles; -drop sequence pm_role_seq; +drop table pm_default_roles cascade; +drop table pm_project_assignment cascade; +drop table pm_task_assignment cascade; +drop table pm_roles cascade; +drop sequence pm_role_seq cascade; select drop_package('pm_task'); Index: openacs-4/contrib/packages/project-manager/tcl/project-manager-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/tcl/Attic/project-manager-procs.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/contrib/packages/project-manager/tcl/project-manager-procs.tcl 13 Jan 2005 13:54:35 -0000 1.14 +++ openacs-4/contrib/packages/project-manager/tcl/project-manager-procs.tcl 24 Feb 2005 13:32:57 -0000 1.15 @@ -724,11 +724,13 @@ @error } { - return [util_memoize [list pm::util::subsite_assignees_list_of_lists_not_cached] 6000] + set subsite_id [ad_conn subsite_id] + return [util_memoize [list pm::util::subsite_assignees_list_of_lists_not_cached -subsite_id $subsite_id] 6000] } ad_proc -public pm::util::subsite_assignees_list_of_lists_not_cached { + {-subsite_id ""} } { Returns a list of lists of possible assignees @@ -740,7 +742,10 @@ @error } { - set subsite_id [ad_conn subsite_id] + if [empty_string_p $subsite_id] { + set subsite_id [ad_conn subsite_id] + } + set user_group_id [application_group::group_id_from_package_id \ -package_id $subsite_id] Index: openacs-4/contrib/packages/project-manager/www/index-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/index-oracle.xql,v diff -u -r1.2 -r1.3 --- openacs-4/contrib/packages/project-manager/www/index-oracle.xql 13 Jan 2005 13:54:36 -0000 1.2 +++ openacs-4/contrib/packages/project-manager/www/index-oracle.xql 24 Feb 2005 13:32:57 -0000 1.3 @@ -46,10 +46,13 @@ ctg.deprecated_p = 'f') c ON p.item_id = c.object_id, cr_items i, + cr_folders f, pm_project_status s WHERE p.project_id = i.live_revision and s.status_id = p.status_id + and i.parent_id = f.folder_id + and f.package_id = :package_id [template::list::filter_where_clauses -and -name projects] [template::list::orderby_clause -orderby -name projects] Index: openacs-4/contrib/packages/project-manager/www/index-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/index-postgresql.xql,v diff -u -r1.13 -r1.14 --- openacs-4/contrib/packages/project-manager/www/index-postgresql.xql 1 Jul 2004 22:56:19 -0000 1.13 +++ openacs-4/contrib/packages/project-manager/www/index-postgresql.xql 24 Feb 2005 13:32:57 -0000 1.14 @@ -46,10 +46,13 @@ ctg.deprecated_p = 'f') c ON p.item_id = c.object_id, cr_items i, + cr_folders f, pm_project_status s WHERE p.project_id = i.live_revision and s.status_id = p.status_id + and i.parent_id = f.folder_id + and f.package_id = :package_id [template::list::filter_where_clauses -and -name projects] [template::list::orderby_clause -orderby -name projects] Index: openacs-4/contrib/packages/project-manager/www/task-add-edit-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/task-add-edit-2.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/contrib/packages/project-manager/www/task-add-edit-2.tcl 13 Jan 2005 13:54:36 -0000 1.2 +++ openacs-4/contrib/packages/project-manager/www/task-add-edit-2.tcl 24 Feb 2005 13:32:57 -0000 1.3 @@ -104,6 +104,7 @@ } + if {[string is true $edit_p]} { # ------- @@ -181,7 +182,7 @@ -project_item_id $project_item_id($num) \ -update_status_p f \ -party_id $user_id \ - -timestamp_ansi [set log_date_${num}(date)] + -timestamp_ansi [set log_date_${num}] } # --------- Index: openacs-4/contrib/packages/project-manager/www/tasks-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/tasks-postgresql.xql,v diff -u -r1.9 -r1.10 --- openacs-4/contrib/packages/project-manager/www/tasks-postgresql.xql 13 Jan 2005 13:54:36 -0000 1.9 +++ openacs-4/contrib/packages/project-manager/www/tasks-postgresql.xql 24 Feb 2005 13:32:57 -0000 1.10 @@ -41,13 +41,16 @@ LEFT JOIN pm_roles r ON ta.role_id = r.role_id, cr_items proj, + cr_folders f, pm_projectsx proj_rev WHERE ts.task_id = t.item_id and i.item_id = t.item_id and t.task_revision_id = i.live_revision and t.parent_id = proj.item_id and proj.live_revision = proj_rev.revision_id + and proj.parent_id = f.folder_id + and f.package_id = :package_id [template::list::filter_where_clauses -and -name tasks] [template::list::orderby_clause -orderby -name tasks] Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/contrib/packages/room-reservation/catalog/room-reservation.de_DE.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/etc/analog.cfg =================================================================== RCS file: /usr/local/cvsroot/openacs-4/etc/analog.cfg,v diff -u -r1.4 -r1.5 --- openacs-4/etc/analog.cfg 13 Jan 2005 13:54:40 -0000 1.4 +++ openacs-4/etc/analog.cfg 24 Feb 2005 13:32:57 -0000 1.5 @@ -14,6 +14,11 @@ # it must go here, above the LOGFILE commands. LOGFORMAT (%S %j %j [%d/%M/%Y:%h:%n:%j] "%j%w%r%wHTTP%j" %c %b "%f" "%B" %j\n) + +# If your /etc/config.tcl file includes the logreqtime parameter, and +# it is set to true, you can change the LOGFORMAT +# LOGFORMAT (%S %j %j [%d/%M/%Y:%h:%n:%j] "%j%w%r%wHTTP%j" %c %b "%f" "%B" %j\n) + LOGFILE /var/lib/aolserver/service0/log/service0.log* OUTFILE /var/lib/aolserver/service0/www/log/traffic.html Index: openacs-4/etc/config.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/etc/config.tcl,v diff -u -r1.31 -r1.32 --- openacs-4/etc/config.tcl 13 Jan 2005 13:54:40 -0000 1.31 +++ openacs-4/etc/config.tcl 24 Feb 2005 13:32:57 -0000 1.32 @@ -16,6 +16,7 @@ # /var/lib/aolserver/service0/packages/etc/daemontools/run # The hostname and address should be set to actual values. +# setting the address to 0.0.0.0 means aolserver listens on all interfaces set hostname [ns_info hostname] #set address [ns_info address] set address 0.0.0.0 @@ -132,11 +133,11 @@ ns_section ns/server/${server} ns_param directoryfile $directoryfile ns_param pageroot $pageroot - ns_param maxconnections 5 + ns_param maxconnections 100 ;# Max connections to put on queue ns_param maxdropped 0 - ns_param maxthreads 5 + ns_param maxthreads 10 ns_param minthreads 5 - ns_param threadtimeout 120 + ns_param threadtimeout 120 ;# Idle threads die at this rate ns_param globalstats false ;# Enable built-in statistics ns_param urlstats false ;# Enable URL statistics ns_param maxurlstats 1000 ;# Max number of URL's to do stats on @@ -237,6 +238,8 @@ ns_param address $address ns_param hostname $hostname ns_param port $httpport +# setting maxinput higher than practical may leave the server vulnerable to resource DoS attacks +# see http://www.panoptic.com/wiki/aolserver/166 ns_param maxinput [expr 20 * 1024 * 1024] ;# Maximum File Size for uploads in bytes ns_param recvwait [expr 5 * 60] ;# Maximum request time in minutes @@ -255,6 +258,7 @@ ns_param extendedheaders COOKIE # ns_param logrefer false # ns_param loguseragent false + ns_param logreqtime true ns_param maxbackup 1000 ns_param rollday * ns_param rollfmt %Y-%m-%d-%H:%M Index: openacs-4/etc/install/install.sh =================================================================== RCS file: /usr/local/cvsroot/openacs-4/etc/install/install.sh,v diff -u -r1.44 -r1.45 --- openacs-4/etc/install/install.sh 23 Apr 2004 09:28:31 -0000 1.44 +++ openacs-4/etc/install/install.sh 24 Feb 2005 13:32:57 -0000 1.45 @@ -292,14 +292,15 @@ # Postgres pg_bindir=`get_config_param pg_bindir` pg_port=`get_config_param pg_port` + pg_db_user=`get_config_param pg_db_user` db_name=`get_config_param db_name` - su `get_config_param pg_db_admin` -c "export LD_LIBRARY_PATH=${pg_bindir}/../lib; ${pg_bindir}/dropuser -p $pg_port $db_name" + su `get_config_param pg_db_admin` -c "export LD_LIBRARY_PATH=${pg_bindir}/../lib; ${pg_bindir}/dropuser -p $pg_port $pg_db_user" # dropdb may be redundant becasue dropping the user should drop the db, # but only if our assumption that db_user owns db_name is true su `get_config_param pg_db_admin` -c "export LD_LIBRARY_PATH=${pg_bindir}/../lib; ${pg_bindir}/dropdb -p $pg_port $db_name" - su `get_config_param pg_db_admin` -c "export LD_LIBRARY_PATH=${pg_bindir}/../lib; ${pg_bindir}/createuser -d -a -p $pg_port $db_name" - su `get_config_param pg_db_admin` -c "export LD_LIBRARY_PATH=${pg_bindir}/../lib; ${pg_bindir}/createdb -p $pg_port $db_name" + su `get_config_param pg_db_admin` -c "export LD_LIBRARY_PATH=${pg_bindir}/../lib; ${pg_bindir}/createuser -d -a -p $pg_port $pg_db_user" + su `get_config_param pg_db_admin` -c "export LD_LIBRARY_PATH=${pg_bindir}/../lib; ${pg_bindir}/createdb -E UNICODE -p $pg_port $db_name" # createlang was part of this command but is not necessary # (and causes an error) for newer installs Index: openacs-4/etc/keepalive/keepalive-cron.sh =================================================================== RCS file: /usr/local/cvsroot/openacs-4/etc/keepalive/keepalive-cron.sh,v diff -u -r1.1 -r1.2 --- openacs-4/etc/keepalive/keepalive-cron.sh 12 Jun 2004 14:27:39 -0000 1.1 +++ openacs-4/etc/keepalive/keepalive-cron.sh 24 Feb 2005 13:32:57 -0000 1.2 @@ -7,10 +7,13 @@ # restart commands are expected to be in a config file named keepalive-config.tcl # in the same directory as this script # +# If you're having problems with this script, you should look at this thread: +# http://openacs.org/forums/message-view?message_id=260846 +# # @author Peter Marklund # the next line restarts using tclsh, the trailing slash is intentional \ -exec tclsh "$0" "$@" +exec /usr/bin/tclsh "$0" "$@" set script_dir [file dirname [info script]] Index: openacs-4/etc/keepalive/keepalive.sh =================================================================== RCS file: /usr/local/cvsroot/openacs-4/etc/keepalive/keepalive.sh,v diff -u -r1.4 -r1.5 --- openacs-4/etc/keepalive/keepalive.sh 12 Jun 2004 14:26:23 -0000 1.4 +++ openacs-4/etc/keepalive/keepalive.sh 24 Feb 2005 13:32:57 -0000 1.5 @@ -10,7 +10,7 @@ # @author Peter Marklund # the next line restarts using tclsh, the trailing slash is intentional \ -exec tclsh "$0" "$@" +exec /usr/bin/tclsh "$0" "$@" set script_dir [file dirname [info script]] Index: openacs-4/packages/acs-admin/www/users/password-update.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/password-update.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-admin/www/users/password-update.adp 13 Jan 2005 13:54:41 -0000 1.2 +++ openacs-4/packages/acs-admin/www/users/password-update.adp 24 Feb 2005 13:32:58 -0000 1.3 @@ -1,6 +1,6 @@ Update Password -@context_bar@ +@context;noquote@ Index: openacs-4/packages/acs-admin/www/users/password-update.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/password-update.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-admin/www/users/password-update.tcl 13 Jan 2005 13:54:41 -0000 1.2 +++ openacs-4/packages/acs-admin/www/users/password-update.tcl 24 Feb 2005 13:32:58 -0000 1.3 @@ -8,9 +8,9 @@ {password_old ""} } +acs_user::get -user_id $user_id -array userinfo +set context [list [list "./" "Users"] [list "user.tcl?user_id=$user_id" $userinfo(email)] "Update Password"] -set context_bar [list [list users Users] [list "user.tcl?user_id=$user_id" "usuario"] "Update Password"] - set site_link [ad_site_home_link] ad_return_template \ No newline at end of file Index: openacs-4/packages/acs-content-repository/acs-content-repository.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/acs-content-repository.info,v diff -u -r1.51 -r1.52 --- openacs-4/packages/acs-content-repository/acs-content-repository.info 23 Jan 2005 23:16:19 -0000 1.51 +++ openacs-4/packages/acs-content-repository/acs-content-repository.info 24 Feb 2005 13:32:58 -0000 1.52 @@ -34,7 +34,3 @@ - - - - Index: openacs-4/packages/acs-content-repository/sql/oracle/content-folder.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/oracle/content-folder.sql,v diff -u -r1.15 -r1.16 --- openacs-4/packages/acs-content-repository/sql/oracle/content-folder.sql 13 Jan 2005 13:55:07 -0000 1.15 +++ openacs-4/packages/acs-content-repository/sql/oracle/content-folder.sql 24 Feb 2005 13:32:58 -0000 1.16 @@ -23,7 +23,8 @@ creation_date in acs_objects.creation_date%TYPE default sysdate, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null, - package_id in acs_objects.package_id%TYPE default null + security_inherit_p in acs_objects.security_inherit_p%TYPE default 't', + package_id in cr_folders.package_id%TYPE default null ) return cr_folders.folder_id%TYPE is v_folder_id cr_folders.folder_id%TYPE; v_context_id acs_objects.context_id%TYPE; @@ -61,6 +62,7 @@ creation_user => creation_user, creation_ip => creation_ip, parent_id => parent_id, + security_inherit_p => security_inherit_p, package_id => v_package_id ); Index: openacs-4/packages/acs-content-repository/sql/oracle/content-item.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/oracle/content-item.sql,v diff -u -r1.27 -r1.28 --- openacs-4/packages/acs-content-repository/sql/oracle/content-item.sql 24 Jul 2004 08:34:03 -0000 1.27 +++ openacs-4/packages/acs-content-repository/sql/oracle/content-item.sql 24 Feb 2005 13:32:58 -0000 1.28 @@ -79,8 +79,8 @@ relation_tag in cr_child_rels.relation_tag%TYPE default null, is_live in char default 'f', storage_type in cr_items.storage_type%TYPE default 'lob', + security_inherit_p in acs_objects.security_inherit_p%TYPE default 't' package_id in acs_objects.package_id%TYPE default null - ) return cr_items.item_id%TYPE is v_parent_id cr_items.parent_id%TYPE; @@ -185,7 +185,8 @@ context_id => v_context_id, creation_date => content_item.new.creation_date, creation_user => content_item.new.creation_user, - creation_ip => content_item.new.creation_ip + creation_ip => content_item.new.creation_ip, + security_inherit_p => content_item.new.security_inherit_p ); -- Turn off security inheritance if there is no security context Index: openacs-4/packages/acs-content-repository/sql/oracle/packages-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/oracle/packages-create.sql,v diff -u -r1.22 -r1.23 --- openacs-4/packages/acs-content-repository/sql/oracle/packages-create.sql 18 Jan 2005 16:35:42 -0000 1.22 +++ openacs-4/packages/acs-content-repository/sql/oracle/packages-create.sql 24 Feb 2005 13:32:58 -0000 1.23 @@ -376,6 +376,7 @@ relation_tag in cr_child_rels.relation_tag%TYPE default null, is_live in char default 'f', storage_type in cr_items.storage_type%TYPE default 'lob', + security_inherit_p in acs_objects.security_inherit_p%TYPE default 't', package_id in acs_objects.package_id%TYPE default null ) return cr_items.item_id%TYPE; @@ -1199,6 +1200,7 @@ creation_date in acs_objects.creation_date%TYPE default sysdate, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null, + security_inherit_p in acs_objects.security_inherit_p%TYPE default 't', package_id in acs_objects.package_id%TYPE default null ) return cr_folders.folder_id%TYPE; Index: openacs-4/packages/acs-content-repository/sql/oracle/upgrade/upgrade-5.1.2d6-5.1.2d7.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/oracle/upgrade/upgrade-5.1.2d6-5.1.2d7.sql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-content-repository/sql/oracle/upgrade/upgrade-5.1.2d6-5.1.2d7.sql 13 Jan 2005 13:55:08 -0000 1.2 +++ openacs-4/packages/acs-content-repository/sql/oracle/upgrade/upgrade-5.1.2d6-5.1.2d7.sql 24 Feb 2005 13:32:58 -0000 1.3 @@ -7,4 +7,4 @@ -- @cvs-id $Id$ -- -create index cr_items_name on cr_items(name); \ No newline at end of file +-- create index cr_items_name on cr_items(name); \ No newline at end of file Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-content-repository/sql/oracle/upgrade/upgrade-5.1.5d2-5.1.5d3.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-folder.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-folder.sql,v diff -u -r1.42 -r1.43 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-folder.sql 13 Jan 2005 13:55:12 -0000 1.42 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-folder.sql 24 Feb 2005 13:32:58 -0000 1.43 @@ -142,7 +142,7 @@ v_context_id acs_objects.context_id%TYPE; begin - perform content_folder__new ( + return content_folder__new ( new__name, new__label, new__description, @@ -156,7 +156,6 @@ null ); - return null; end;' language 'plpgsql'; select define_function_args('content_folder__new','name,label,description,parent_id,context_id,folder_id,creation_date;now,creation_user,creation_ip,security_inherit_p;t,package_id'); @@ -254,7 +253,7 @@ end if; - return null; + return v_folder_id; end;' language 'plpgsql'; create or replace function content_folder__new (varchar,varchar,varchar,integer,integer,integer,timestamptz,integer,varchar,boolean) @@ -287,9 +286,8 @@ end;' language 'plpgsql'; -- procedure delete -select define_function_args('content_folder__delete','folder_id,cascade_p;f'); - -create or replace function content_folder__delete (integer, boolean) +select define_function_args('content_folder__del','folder_id,cascade_p;f'); +create or replace function content_folder__del (integer, boolean) returns integer as ' declare delete__folder_id alias for $1; @@ -352,7 +350,19 @@ return 0; end;' language 'plpgsql'; +select define_function_args('content_folder__delete','folder_id,cascade_p;f'); +create or replace function content_folder__delete (integer, boolean) +returns integer as ' +declare + delete__folder_id alias for $1; + p_cascade_p alias for $2; +begin + PERFORM content_folder__del(delete__folder_id,p_cascade_p); + return 0; +end;' language 'plpgsql'; + + create or replace function content_folder__delete (integer) returns integer as ' declare @@ -361,7 +371,7 @@ v_parent_id integer; v_path varchar; begin - return content_folder__delete( + return content_folder__del( delete__folder_id, ''f'' ); @@ -673,6 +683,8 @@ LOOP v_parent_id := v_rec.parent_id; exit when v_parent_id = is_sub_folder__folder_id; + -- we did not find the folder, reset v_parent_id + v_parent_id := 0; end LOOP; if v_parent_id != 0 then Index: openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.1.2d6-5.1.2d7.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.1.2d6-5.1.2d7.sql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.1.2d6-5.1.2d7.sql 13 Jan 2005 13:55:13 -0000 1.2 +++ openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.1.2d6-5.1.2d7.sql 24 Feb 2005 13:32:58 -0000 1.3 @@ -7,7 +7,7 @@ -- @cvs-id $Id$ -- -create index cr_items_name on cr_items(name); +-- create index cr_items_name on cr_items(name); drop trigger cr_items_tree_insert_tr on cr_items; Index: openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.1.4d4-5.1.4d5.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.1.4d4-5.1.4d5.sql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.1.4d4-5.1.4d5.sql 13 Jan 2005 13:55:14 -0000 1.2 +++ openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.1.4d4-5.1.4d5.sql 24 Feb 2005 13:32:58 -0000 1.3 @@ -174,6 +174,7 @@ return 0; end;' language 'plpgsql'; +-- item select define_function_args('content_item__del','item_id'); create or replace function content_item__del (integer) returns integer as ' @@ -299,6 +300,7 @@ return 0; end;' language 'plpgsql'; + select define_function_args('content_item__delete','item_id'); create or replace function content_item__delete (integer) returns integer as ' @@ -308,3 +310,38 @@ PERFORM content_item__del (delete__item_id); return 0; end;' language 'plpgsql'; + + +-- template +select define_function_args('content_template__del','template_id'); +create or replace function content_template__del (integer) +returns integer as ' +declare + delete__template_id alias for $1; +begin + + delete from cr_type_template_map + where template_id = delete__template_id; + + delete from cr_item_template_map + where template_id = delete__template_id; + + delete from cr_templates + where template_id = delete__template_id; + + PERFORM content_item__delete(delete__template_id); + + return 0; +end;' language 'plpgsql'; + +select define_function_args('content_template__delete','template_id'); + +create or replace function content_template__delete (integer) +returns integer as ' +declare + delete__template_id alias for $1; +begin + PERFORM content_template__delete(delete__template_id); + + return 0; +end;' language 'plpgsql'; Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.1.5d1-5.1.5d2.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-content-repository/tcl/content-folder-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/content-folder-procs.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/acs-content-repository/tcl/content-folder-procs.tcl 10 Feb 2005 02:45:51 -0000 1.7 +++ openacs-4/packages/acs-content-repository/tcl/content-folder-procs.tcl 24 Feb 2005 13:32:59 -0000 1.8 @@ -93,7 +93,7 @@ -var_list [list \ [list folder_id $folder_id ] \ [list cascade_p $cascade_p] ] \ - content_folder del ] + content_folder del] } ad_proc -public ::content::folder::register_content_type { @@ -310,8 +310,8 @@ } { return [package_exec_plsql \ -var_list [list \ - folder_id $folder_id \ - target_folder_id $target_folder_id \ + [list folder_id $folder_id] \ + [list target_folder_id $target_folder_id] \ ] \ content_folder is_sub_folder] } Index: openacs-4/packages/acs-content-repository/tcl/content-revision-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/content-revision-procs.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-content-repository/tcl/content-revision-procs.tcl 13 Feb 2005 02:10:31 -0000 1.8 +++ openacs-4/packages/acs-content-repository/tcl/content-revision-procs.tcl 24 Feb 2005 13:32:59 -0000 1.9 @@ -119,8 +119,7 @@ append attribute_names ", ${attribute_name}" # create local variable to use for binding set $attribute_name $attribute_value - ns_log notice "DAVEB CR REVISION NEW setting $attribute_name '${attribute_value}'" - append attribute_values ", :${attribute_name}" + append attribute_values ", :${attribute_name}" } } } @@ -140,12 +139,6 @@ -revision_id $revision_id \ -content $content } -ns_log notice " -DB -------------------------------------------------------------------------------- -DB DAVE debugging /var/lib/aolserver/openacs-5-1/packages/acs-content-repository/tcl/content-revision-procs.tcl -DB -------------------------------------------------------------------------------- -DB is_live = '${is_live}' \n -DB revision_id = '${revision_id}'" if {[string is true $is_live]} { content::item::set_live_revision -revision_id $revision_id } Index: openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl 24 Jan 2005 00:58:41 -0000 1.25 +++ openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl 24 Feb 2005 13:32:59 -0000 1.26 @@ -182,24 +182,25 @@ return 0 } - set item_info(item_id) [::content::item::get_id -item_path $url \ - -root_folder_id $content_root \ - -resolve_index "f"] - set item_info(content_type) [::content::item::get_content_type \ - -item_id $item_info(item_id)] + # cache this query persistently for 1 hour + set item_info(item_id) [::content::item::get_id -item_path $url \ + -root_folder_id $content_root \ + -resolve_index "f"] + set item_info(content_type) [::content::item::get_content_type \ + -item_id $item_info(item_id)] - # No item found, so do not handle this request - if { [string equal "" $item_info(item_id)] } { - set item_info(item_id) [::content::item::get_id -item_path $url \ - -root_folder_id $content_root \ - -resolve_index "f"] - set item_info(content_type) [::content::item::get_content_type \ - -item_id $item_id] - if { [string equal "" $item_info(item_id)] } { - ns_log notice "content::init: no content found for url $url" - return 0 - } - } + # No item found, so do not handle this request + if { [string equal "" $item_info(item_id)] } { + set item_info(item_id) [::content::item::get_id -item_path $url \ + -root_folder_id $content_root \ + -resolve_index "f"] + set item_info(content_type) [::content::item::get_content_type \ + -item_id $item_info(item_id)] + if { [string equal "" $item_info(item_id)] } { + ns_log notice "content::init: no content found for url $url" + return 0 + } + } variable item_url set item_url $url Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-content-repository/tcl/test/content-folder-test-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.html'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml,v diff -u -r1.23 -r1.24 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml 18 Jun 2004 11:59:51 -0000 1.23 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml 24 Feb 2005 13:32:59 -0000 1.24 @@ -493,14 +493,14 @@ - + You will now be walked through all of the selected adp pages. The UI shows you the intended changes and lets you edit or cancel them key by key. - + @@ -699,7 +699,7 @@ has a bold tag which confuses the converter into thinking there are two message keys for the text beginning "Invitations ..." where there should be one: - + Instead, we cancel those keys, edit the file manually, and put in a single temporary message tag: @@ -937,13 +937,13 @@ - + While in Translator mode, a list of all message keys appears at the bottom of each page. - + @@ -954,7 +954,7 @@ - + Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml,v diff -u -r1.13 -r1.14 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml 13 Jan 2005 13:55:16 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml 24 Feb 2005 13:32:59 -0000 1.14 @@ -348,7 +348,7 @@
- +
Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml,v diff -u -r1.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml 26 Jan 2004 15:39:44 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml 24 Feb 2005 13:32:59 -0000 1.10 @@ -31,7 +31,7 @@ - + Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml,v diff -u -r1.45 -r1.46 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml 16 Feb 2005 00:18:52 -0000 1.45 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml 24 Feb 2005 13:32:59 -0000 1.46 @@ -147,7 +147,7 @@ Upgrading a local CVS repository - + @@ -1248,7 +1248,7 @@ .LRN home page with table-based layout - + A sample of the HTML code (full source) @@ -1280,7 +1280,7 @@ .LRN Home with CSS-based layout - + A sample of the HTML code (full source) @@ -1296,7 +1296,7 @@ If the CSS is removed from the file, it looks somewhat different: - + Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-db.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-db.xml,v diff -u -r1.14 -r1.15 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-db.xml 11 Jun 2004 10:13:00 -0000 1.14 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-db.xml 24 Feb 2005 13:32:59 -0000 1.15 @@ -54,7 +54,7 @@ Tutorial Data Model - + Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-pages.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-pages.xml,v diff -u -r1.14 -r1.15 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-pages.xml 11 Jun 2004 10:13:00 -0000 1.14 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-pages.xml 24 Feb 2005 13:32:59 -0000 1.15 @@ -25,7 +25,7 @@ Page Map - + Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml,v diff -u -r1.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml 1 Dec 2004 19:23:38 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml 24 Feb 2005 13:32:59 -0000 1.17 @@ -17,7 +17,7 @@ The intended page map - + Index: openacs-4/packages/acs-core-docs/www/xml/engineering-standards/cvs.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/engineering-standards/cvs.xml,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/xml/engineering-standards/cvs.xml 13 Jan 2005 13:55:16 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/xml/engineering-standards/cvs.xml 24 Feb 2005 13:32:59 -0000 1.3 @@ -772,7 +772,7 @@ The - + OpenACS cvs web and Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/configuring.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/configuring.xml,v diff -u -r1.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/configuring.xml 23 Sep 2004 17:58:51 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/configuring.xml 24 Feb 2005 13:33:00 -0000 1.10 @@ -226,7 +226,7 @@ Site Templates - + @@ -286,7 +286,7 @@ Granting Permissions - + @@ -298,7 +298,7 @@ Granting Permissions in 5.0 - + Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/maintenance.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/maintenance.xml,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/maintenance.xml 16 Feb 2005 00:18:52 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/maintenance.xml 24 Feb 2005 13:33:00 -0000 1.26 @@ -369,7 +369,7 @@ Multiple-server configuration - + @@ -498,23 +498,23 @@ Simple A/B Deployment - Step 1 - +
Simple A/B Deployment - Step 2 - +
Simple A/B Deployment - Step 3 - +
@@ -525,23 +525,23 @@ Complex A/B Deployment - Step 1 - +
Complex A/B Deployment - Step 2 - +
Complex A/B Deployment - Step 3 - +
@@ -721,7 +721,7 @@ Query Analysis example - + Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml,v diff -u -r1.27 -r1.28 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml 13 Jan 2005 13:55:17 -0000 1.27 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml 24 Feb 2005 13:33:00 -0000 1.28 @@ -353,13 +353,13 @@ [root root]#
- Create a database with the same name as our service name, $OPENACS_SERVICE_NAME. + Create a database with the same name as our service name, $OPENACS_SERVICE_NAME. The full pathname for createdb needs to be used, since the pgsql directory has not been added to the $OPENACS_SERVICE_NAME bash profile. [root root]# su - $OPENACS_SERVICE_NAME -[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ createdb -E UNICODE $OPENACS_SERVICE_NAME +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ /usr/local/pgsql/bin/createdb -E UNICODE $OPENACS_SERVICE_NAME CREATE DATABASE [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ -su - $OPENACS_SERVICE_NAME -createdb -E UNICODE $OPENACS_SERVICE_NAME +su - $OPENACS_SERVICE_NAME +/usr/local/pgsql/bin/createdb -E UNICODE $OPENACS_SERVICE_NAME Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day. Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/other-software.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/other-software.xml,v diff -u -r1.26 -r1.27 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/other-software.xml 17 Feb 2005 21:48:24 -0000 1.26 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/other-software.xml 24 Feb 2005 13:33:00 -0000 1.27 @@ -1056,8 +1056,8 @@ Install on AOLserver4 - You will need the AOLserver4 source in /usr/local/src/aolserver/aolserver and OpenSSL installed in /usr/local/ssl (or at least symlinked there). - FreeBSD note: build openssl with gmake install OPENSSL=/usr/local/openssl INST=/usr/local/aolserver + You will need the AOLserver4 source in /usr/local/src/aolserver/aolserver and OpenSSL installed in /usr/local/ssl (or at least symlinked there). The use of INST=/point/to/aolserver is being replaced with AOLSERVER=/point/to/aolserver. We are including both here, because while this module still requires INST, if one just uses AOLSERVER, the default value would be used and could intefere with another existing installation. + FreeBSD note: build nsopenssl with gmake install OPENSSL=/usr/local/openssl AOLSERVER=/usr/local/aolserver4r10 [root bin]# cd /usr/local/src/aolserver @@ -1067,14 +1067,14 @@ [root nsopenssl]# make OPENSSL=/usr/local/ssl gcc -I/usr/local/ssl/include (many items omitted) -c -o sslcontext.o sslcontext.c (many lines omitted) -[root nsopenssl-2.1]# make install OPENSSL=/usr/local/ssl INST=/usr/local/aolserver +[root nsopenssl-2.1]# make install OPENSSL=/usr/local/ssl AOLSERVER=/usr/local/aolserver4r10 INST=/usr/local/aolserver4r10 [root nsopenssl-2.1]# cd /usr/local/src/aolserver cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver login cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsopenssl cd nsopenssl make OPENSSL=/usr/local/ssl -make install OPENSSL=/usr/local/ssl INST=/usr/local/aolserver +make install OPENSSL=/usr/local/ssl AOLSERVER=/usr/local/aolserver AOLSERVER=/usr/local/aolserver4r10 If you have problems starting your server with nsopenssl.so due to missing libssl.so.0.9.7 (or lower), you have to create symlinks [root nsopenssl]# cd /usr/local/aolserver/lib Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/postgres.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/postgres.xml,v diff -u -r1.31 -r1.32 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/postgres.xml 5 Feb 2005 18:22:17 -0000 1.31 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/postgres.xml 24 Feb 2005 13:33:00 -0000 1.32 @@ -116,6 +116,19 @@ + Install Bison + Only do this if bison --version is smaller than 1.875 and you install PostgreSQL 7.4 from cvs instead of tarball. + + [root root]# cd /usr/local/src +[root src]# wget http://ftp.gnu.org/gnu/bison/bison-1.875.tar.gz +[root src]# tar xfz bison-1.875.tar.gz +[root src]# cd bison-1.875 +[root src]# ./configure +[root src]# make install + + + + Create the Postgres user Create a user and group (if you haven't done so before) for Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml,v diff -u -r1.14 -r1.15 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml 15 Nov 2004 17:41:03 -0000 1.14 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml 24 Feb 2005 13:33:00 -0000 1.15 @@ -23,7 +23,7 @@ Backup and Recovery Strategy - + Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml,v diff -u -r1.37 -r1.38 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml 16 Feb 2005 00:18:52 -0000 1.37 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml 24 Feb 2005 13:33:00 -0000 1.38 @@ -45,7 +45,7 @@ Upgrading with the APM - + @@ -393,7 +393,7 @@ Upgrading a local CVS repository - + Index: openacs-4/packages/acs-core-docs/www/xml/kernel/apm-design.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/kernel/apm-design.xml,v diff -u -r1.7 -r1.8 --- openacs-4/packages/acs-core-docs/www/xml/kernel/apm-design.xml 26 Jan 2004 15:39:45 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/xml/kernel/apm-design.xml 24 Feb 2005 13:33:00 -0000 1.8 @@ -24,7 +24,7 @@ -ER diagram +ER diagram Tcl API @@ -206,7 +206,7 @@ - + Index: openacs-4/packages/acs-core-docs/www/xml/kernel/ext-auth.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/kernel/ext-auth.xml,v diff -u -r1.1 -r1.2 --- openacs-4/packages/acs-core-docs/www/xml/kernel/ext-auth.xml 20 Aug 2003 16:20:19 -0000 1.1 +++ openacs-4/packages/acs-core-docs/www/xml/kernel/ext-auth.xml 24 Feb 2005 13:33:00 -0000 1.2 @@ -83,7 +83,7 @@ Conceptual Pictures Authentication: - + Account Management (NO PICTURE YET) Index: openacs-4/packages/acs-core-docs/www/xml/non-xml/release-notes-4-6.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/non-xml/release-notes-4-6.html,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/xml/non-xml/release-notes-4-6.html 11 Dec 2003 21:39:50 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/xml/non-xml/release-notes-4-6.html 24 Feb 2005 13:33:00 -0000 1.3 @@ -1,5 +1,5 @@ -OpenACS 4.6 Release Notes

OpenACS 4.6 Release Notes

+OpenACS 4.6 Release Notes

OpenACS 4.6 Release Notes

by Don Baccus
OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. Index: openacs-4/packages/acs-datetime/acs-datetime.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-datetime/acs-datetime.info,v diff -u -r1.14 -r1.15 --- openacs-4/packages/acs-datetime/acs-datetime.info 11 Dec 2003 21:39:50 -0000 1.14 +++ openacs-4/packages/acs-datetime/acs-datetime.info 24 Feb 2005 13:33:00 -0000 1.15 @@ -7,14 +7,14 @@ f t - + OpenACS

An API for date and time functions 2003-11-10 OpenACS Note: this version of the package requires acs-event(s) for a helper function. This requirement may go away in the future. - + Index: openacs-4/packages/acs-kernel/acs-kernel.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/acs-kernel.info,v diff -u -r1.73 -r1.74 --- openacs-4/packages/acs-kernel/acs-kernel.info 4 Feb 2005 03:24:23 -0000 1.73 +++ openacs-4/packages/acs-kernel/acs-kernel.info 24 Feb 2005 13:33:00 -0000 1.74 @@ -80,7 +80,3 @@ - - - - Index: openacs-4/packages/acs-kernel/sql/oracle/acs-objects-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/oracle/acs-objects-create.sql,v diff -u -r1.19 -r1.20 --- openacs-4/packages/acs-kernel/sql/oracle/acs-objects-create.sql 6 Dec 2004 12:04:52 -0000 1.19 +++ openacs-4/packages/acs-kernel/sql/oracle/acs-objects-create.sql 24 Feb 2005 13:33:00 -0000 1.20 @@ -427,6 +427,7 @@ default null, creation_ip in acs_objects.creation_ip%TYPE default null, context_id in acs_objects.context_id%TYPE default null, + security_inherit_p in acs_objects.security_inherit_p%TYPE default 't', title in acs_objects.title%TYPE default null, package_id in acs_objects.package_id%TYPE default null ) return acs_objects.object_id%TYPE; @@ -542,6 +543,7 @@ default null, creation_ip in acs_objects.creation_ip%TYPE default null, context_id in acs_objects.context_id%TYPE default null, + security_inherit_p in acs_objects.security_inherit_p%TYPE default 't', title in acs_objects.title%TYPE default null, package_id in acs_objects.package_id%TYPE default null ) @@ -572,17 +574,17 @@ end if; if creation_date is null then - v_creation_date := sysdate; + select sysdate into v_creation_date from dual; else v_creation_date := creation_date; end if; insert into acs_objects - (object_id, object_type, title, package_id, context_id, - creation_date, creation_user, creation_ip) + (object_id, object_type, context_id, creation_date, + creation_user, creation_ip, security_inherit_p, title, package_id) values - (v_object_id, object_type, v_title, package_id, context_id, - v_creation_date, creation_user, creation_ip); + (v_object_id, object_type, context_id, v_creation_date, + creation_user, creation_ip, security_inherit_p, v_title, package_id); acs_object.initialize_attributes(v_object_id); Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-kernel/sql/oracle/upgrade/upgrade-5.1.4-5.1.4d1.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-lang/www/admin/edit-localized-message.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/edit-localized-message.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/acs-lang/www/admin/edit-localized-message.tcl 17 May 2004 15:14:48 -0000 1.12 +++ openacs-4/packages/acs-lang/www/admin/edit-localized-message.tcl 24 Feb 2005 13:33:01 -0000 1.13 @@ -107,10 +107,11 @@ and cu.user_id = lm.creation_user }] - set original_message [ad_quotehtml $original_message] if { [exists_and_not_null message] } { set message $message + } else { + set message $original_message } if { [empty_string_p $description] } { Index: openacs-4/packages/acs-service-contract/acs-service-contract.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-service-contract/acs-service-contract.info,v diff -u -r1.27 -r1.28 --- openacs-4/packages/acs-service-contract/acs-service-contract.info 13 Jan 2005 13:55:29 -0000 1.27 +++ openacs-4/packages/acs-service-contract/acs-service-contract.info 24 Feb 2005 13:33:01 -0000 1.28 @@ -7,7 +7,7 @@ t t - + OpenACS API and UI for service contracts 2005-01-09 @@ -19,7 +19,7 @@ Examples are the contracts used for search which provide a means to get content on a given object and to translate an object_id to a url or the contracts used by dotlrn and new-portals to allow packages to provide portalized panes. - + Index: openacs-4/packages/acs-service-contract/tcl/implementation-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-service-contract/tcl/implementation-procs.tcl,v diff -u -r1.10 -r1.11 --- openacs-4/packages/acs-service-contract/tcl/implementation-procs.tcl 20 Apr 2004 21:12:55 -0000 1.10 +++ openacs-4/packages/acs-service-contract/tcl/implementation-procs.tcl 24 Feb 2005 13:33:01 -0000 1.11 @@ -132,8 +132,13 @@ ad_proc -public acs_sc::impl::get_id { {-owner:required} {-name:required} + -contract } { - return [db_string select_impl_id {}] + if {[exists_and_not_null contract]} { + return [db_string select_impl_id_with_contract {}] + } else { + return [db_string select_impl_id {}] + } } ad_proc -public acs_sc::impl::get { Index: openacs-4/packages/acs-service-contract/tcl/implementation-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-service-contract/tcl/implementation-procs.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/acs-service-contract/tcl/implementation-procs.xql 10 Sep 2003 14:52:01 -0000 1.3 +++ openacs-4/packages/acs-service-contract/tcl/implementation-procs.xql 24 Feb 2005 13:33:01 -0000 1.4 @@ -11,6 +11,16 @@ + + + select impl_id + from acs_sc_impls + where impl_owner_name = :owner + and impl_name = :name + and impl_contract_name = :contract + + + select impl_name, Index: openacs-4/packages/acs-subsite/lib/login.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/lib/login.adp,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-subsite/lib/login.adp 13 Jan 2005 13:55:31 -0000 1.8 +++ openacs-4/packages/acs-subsite/lib/login.adp 24 Feb 2005 13:33:01 -0000 1.9 @@ -1,5 +1,6 @@ @focus;noquote@ +
@@ -17,3 +18,4 @@ +
- \ No newline at end of file Index: openacs-4/packages/acs-subsite/www/admin/site-map/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/site-map/index.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-subsite/www/admin/site-map/index.adp 13 Jan 2005 13:55:49 -0000 1.2 +++ openacs-4/packages/acs-subsite/www/admin/site-map/index.adp 24 Feb 2005 13:33:01 -0000 1.3 @@ -8,7 +8,7 @@ -»Create new application
+»Create new application
»Manage unmounted applications
»Build Site Map @@ -45,4 +45,4 @@ delete it from the Unmounted Applications link below the site map. - \ No newline at end of file + Index: openacs-4/packages/acs-subsite/www/permissions/perm-include-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/permissions/perm-include-oracle.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/acs-subsite/www/permissions/perm-include-oracle.xql 29 Apr 2004 15:28:25 -0000 1.3 +++ openacs-4/packages/acs-subsite/www/permissions/perm-include-oracle.xql 24 Feb 2005 13:33:01 -0000 1.4 @@ -59,7 +59,10 @@ ) ptab, acs_objects o where o.object_id = ptab.grantee_id - and not exists (select 1 from acs_object_party_privilege_map p where p.object_id = 0 and p.party_id = ptab.grantee_id and p.privilege = 'admin') + and not exists (select 1 from acs_object_party_privilege_map p + where p.object_id = (select object_id from acs_magic_objects where name = 'security_context_root') + and p.party_id = ptab.grantee_id + and p.privilege = 'admin') group by ptab.grantee_id, acs_object.name(ptab.grantee_id), o.object_type order by object_type desc, grantee_name
Index: openacs-4/packages/acs-subsite/www/permissions/perm-include-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/permissions/perm-include-postgresql.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/acs-subsite/www/permissions/perm-include-postgresql.xql 29 Apr 2004 15:28:25 -0000 1.3 +++ openacs-4/packages/acs-subsite/www/permissions/perm-include-postgresql.xql 24 Feb 2005 13:33:01 -0000 1.4 @@ -57,7 +57,7 @@ ) ptab, acs_objects o where o.object_id = ptab.grantee_id - and not exists (select 1 from acs_object_party_privilege_map p where p.object_id = 0 and p.party_id = ptab.grantee_id and p.privilege = 'admin') + and not exists (select 1 from acs_object_party_privilege_map p where p.object_id = acs__magic_object_id('security_context_root') and p.party_id = ptab.grantee_id and p.privilege = 'admin') group by ptab.grantee_id, grantee_name, object_type order by object_type desc, grantee_name Index: openacs-4/packages/acs-subsite/www/site-map/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/site-map/index.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/acs-subsite/www/site-map/index.tcl 19 Jan 2005 14:52:47 -0000 1.3 +++ openacs-4/packages/acs-subsite/www/site-map/index.tcl 24 Feb 2005 13:33:01 -0000 1.4 @@ -113,15 +113,15 @@
- @nodes.action_form_part;noquote@ + (@nodes.action_form_part;noquote@)
- @nodes.action_form_part;noquote@ + (@nodes.action_form_part;noquote@)
Index: openacs-4/packages/acs-tcl/tcl/apm-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/apm-procs.tcl,v diff -u -r1.72 -r1.73 --- openacs-4/packages/acs-tcl/tcl/apm-procs.tcl 17 Feb 2005 15:12:35 -0000 1.72 +++ openacs-4/packages/acs-tcl/tcl/apm-procs.tcl 24 Feb 2005 13:33:02 -0000 1.73 @@ -1163,7 +1163,9 @@ set instance_name = :instance_name where package_id = :package_id } - site_nodes_sync + foreach node_id [db_list nodes_to_sync {}] { + site_node::update_cache -node_id $node_id + } } ad_proc -public apm_set_callback_proc { Index: openacs-4/packages/acs-tcl/tcl/apm-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/apm-procs.xql,v diff -u -r1.21 -r1.22 --- openacs-4/packages/acs-tcl/tcl/apm-procs.xql 16 Jun 2004 01:34:24 -0000 1.21 +++ openacs-4/packages/acs-tcl/tcl/apm-procs.xql 24 Feb 2005 13:33:02 -0000 1.22 @@ -135,6 +135,14 @@ where version_id = :version_id
+ + + + select node_id + from site_nodes + where object_id = :package_id + + Index: openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl,v diff -u -r1.81 -r1.82 --- openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl 24 Feb 2005 11:16:32 -0000 1.81 +++ openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl 24 Feb 2005 13:33:02 -0000 1.82 @@ -1529,6 +1529,7 @@ set wfd [lindex $fds 1] if { [catch { _ns_http_puts $timeout $wfd "$method $uri HTTP/1.0\r" + _ns_http_puts $timeout $wfd "Host: $host\r" if {$rqset != ""} { for {set i 0} {$i < [ns_set size $rqset]} {incr i} { _ns_http_puts $timeout $wfd \ Index: openacs-4/packages/acs-templating/resources/forms/blue.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/resources/forms/blue.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/acs-templating/resources/forms/blue.adp 22 Sep 2003 18:03:48 -0000 1.1 +++ openacs-4/packages/acs-templating/resources/forms/blue.adp 24 Feb 2005 13:33:02 -0000 1.2 @@ -42,7 +42,7 @@ - + > Index: openacs-4/packages/acs-templating/resources/forms/coddo.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/resources/forms/coddo.adp,v diff -u -r1.6 -r1.7 --- openacs-4/packages/acs-templating/resources/forms/coddo.adp 22 Sep 2003 17:42:56 -0000 1.6 +++ openacs-4/packages/acs-templating/resources/forms/coddo.adp 24 Feb 2005 13:33:02 -0000 1.7 @@ -42,7 +42,7 @@ - + : Index: openacs-4/packages/acs-templating/resources/forms/configuration.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/resources/forms/configuration.adp,v diff -u -r1.4 -r1.5 --- openacs-4/packages/acs-templating/resources/forms/configuration.adp 23 Sep 2003 19:37:02 -0000 1.4 +++ openacs-4/packages/acs-templating/resources/forms/configuration.adp 24 Feb 2005 13:33:02 -0000 1.5 @@ -53,7 +53,7 @@ * - + Index: openacs-4/packages/acs-templating/resources/forms/grid.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/resources/forms/grid.adp,v diff -u -r1.7 -r1.8 --- openacs-4/packages/acs-templating/resources/forms/grid.adp 24 Oct 2004 05:12:38 -0000 1.7 +++ openacs-4/packages/acs-templating/resources/forms/grid.adp 24 Feb 2005 13:33:02 -0000 1.8 @@ -32,7 +32,7 @@
- + Index: openacs-4/packages/acs-templating/resources/forms/plain.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/resources/forms/plain.adp,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-templating/resources/forms/plain.adp 20 Nov 2003 13:11:54 -0000 1.8 +++ openacs-4/packages/acs-templating/resources/forms/plain.adp 24 Feb 2005 13:33:02 -0000 1.9 @@ -34,7 +34,7 @@ - + - + \n" + set current_field_value [db_string custom_field_value_select "select $field_identifier from ec_custom_product_field_values where product_id=:product_id" -default "$default_value" ] + # check for cases where field is blank and nontext, because custom_field_value_select -default does not catch them + if { [empty_string_p $current_field_value] && [regexp $column_type "timestampdatenumericintegerboolean"]} { + set current_field_value $default_value + } + doc_body_append "\n" } doc_body_append "
Index: openacs-4/packages/acs-templating/resources/forms/plainest.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/resources/forms/plainest.adp,v diff -u -r1.6 -r1.7 --- openacs-4/packages/acs-templating/resources/forms/plainest.adp 22 Sep 2003 17:42:56 -0000 1.6 +++ openacs-4/packages/acs-templating/resources/forms/plainest.adp 24 Feb 2005 13:33:02 -0000 1.7 @@ -40,7 +40,7 @@ > Index: openacs-4/packages/acs-templating/resources/forms/tiny-plain.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/resources/forms/tiny-plain.adp,v diff -u -r1.4 -r1.5 --- openacs-4/packages/acs-templating/resources/forms/tiny-plain.adp 22 Sep 2003 17:42:56 -0000 1.4 +++ openacs-4/packages/acs-templating/resources/forms/tiny-plain.adp 24 Feb 2005 13:33:02 -0000 1.5 @@ -60,7 +60,7 @@ - + Index: openacs-4/packages/acs-templating/resources/forms/wizard.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/resources/forms/wizard.adp,v diff -u -r1.10 -r1.11 --- openacs-4/packages/acs-templating/resources/forms/wizard.adp 24 Oct 2004 05:12:38 -0000 1.10 +++ openacs-4/packages/acs-templating/resources/forms/wizard.adp 24 Feb 2005 13:33:02 -0000 1.11 @@ -38,7 +38,7 @@ - +    Index: openacs-4/packages/acs-templating/resources/lists/table.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/resources/lists/table.adp,v diff -u -r1.13 -r1.14 --- openacs-4/packages/acs-templating/resources/lists/table.adp 3 Feb 2005 00:19:30 -0000 1.13 +++ openacs-4/packages/acs-templating/resources/lists/table.adp 24 Feb 2005 13:33:02 -0000 1.14 @@ -15,7 +15,7 @@ "] \ - {version_count "# Versions" + {version_count "[_ download._Versions]" {version_count $order} {}} \ - {archive_count "# Files" + {archive_count "[_ download._Files]" {archive_count $order} {}} \ ] Index: openacs-4/packages/download/www/archive-version-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/download/www/archive-version-add.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/download/www/archive-version-add.tcl 10 Sep 2002 22:22:34 -0000 1.3 +++ openacs-4/packages/download/www/archive-version-add.tcl 24 Feb 2005 13:33:11 -0000 1.4 @@ -31,7 +31,7 @@ where da.archive_id = :archive_id and u.user_id = da.creation_user }] { - ad_return_complaint 1 "The archive you are looking for (archive ID $archive_id) could not be found" + ad_return_complaint 1 "[_ download.lt_The_archive_you_are_l]" return } @@ -53,6 +53,6 @@ append extra_form_elts [download_metadata_widget $data_type $pretty_name $metadata_id] } -set context [list "Add an Revision to $archive_name"] +set context [list "[_ download.lt_Add_an_Revision_to_ar]"] ad_return_template \ No newline at end of file Index: openacs-4/packages/download/www/download-verify.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/download/www/download-verify.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/download/www/download-verify.tcl 10 Sep 2002 22:22:34 -0000 1.6 +++ openacs-4/packages/download/www/download-verify.tcl 24 Feb 2005 13:33:11 -0000 1.7 @@ -35,7 +35,7 @@ dar.revision_id = :revision_id $approval "] { - ad_return_complaint 1 "The version you are looking for (revision ID $revision_id) could not be found" + ad_return_complaint 1 "[_ download.lt_The_version_you_are_l]" return } @@ -44,7 +44,9 @@ ##TODO Get version name set action "[ad_conn package_url]download/$file_name" -set reason_widget [ad_db_select_widget -option_list {{"" "Other"}} reasons " +set option_list "\{\"\" \"[_ download.Other]\"\}" + +set reason_widget [ad_db_select_widget -option_list $option_list reasons " select reason, download_reason_id from download_reasons where repository_id = $repository_id" reason_id] set download_id [db_nextval download_reasons_sequence] Index: openacs-4/packages/download/www/help.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/download/www/help.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/download/www/help.tcl 10 Sep 2002 22:22:34 -0000 1.3 +++ openacs-4/packages/download/www/help.tcl 24 Feb 2005 13:33:11 -0000 1.4 @@ -10,6 +10,6 @@ array set repository [download_repository_info] set title $repository(title) set help_text $repository(help_text) -set context [list "Help on $title"] +set context [list "[_ download.Help_on_title]"] ad_return_template Index: openacs-4/packages/download/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/download/www/index.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/download/www/index.tcl 10 Sep 2002 22:22:34 -0000 1.6 +++ openacs-4/packages/download/www/index.tcl 24 Feb 2005 13:33:11 -0000 1.7 @@ -39,42 +39,44 @@ } { lappend type_dimlist [list $at_id $pretty_name [list where "da.archive_type_id = $at_id"]] } -lappend type_dimlist {"" "all" {}} +lappend type_dimlist {"" "#download.all#" {}} -set dimensional [list \ - {versions "Versions" current { - {current "current" {where "[db_map archive_where_clause]" }} - {all "all" {where "da.archive_id = dar.archive_id"}} - }} \ - [list archive_type_id "Type" "" $type_dimlist] \ - {updated "Updated" all { - {1d "last 24hrs" {where "[db_map date_clause_1]"}} - {1w "last week" {where "[db_map date_clause_7]"}} - {1m "last month" {where "[db_map date_clause_30]"}} - {all "all" {}} - }} \ -] +set dimensional [list [list versions "#download.Versions#" current [list \ + [list current "[_ download.current]" {where "[db_map archive_where_clause]"} ] \ + [list all "[_ download.all]" {where "da.archive_id = dar.archive_id"} ] + ]]\ + [list archive_type_id "[_ download.Type]" "" $type_dimlist] \ + [list updated "[_ download.Updated]" all [list \ + [list 1d "[_ download.last_24hrs]" {where "[db_map date_clause_1]"}] \ + [list 1w "[_ download.last_week]" {where "[db_map date_clause_7]"}] \ + [list 1m "[_ download.last_month]" {where "[db_map date_clause_30]"}] \ + [list all "[_ download.all]" {}]] + ]] if { $admin_p } { set approval "" - lappend dimensional {approved "Approval" approved { - {pending "pending" {where "dar.approved_p is null"}} - {approved "approved" {where "dar.approved_p = 't'"}} - {rejected "rejected" {where "dar.approved_p = 'f'"}} - {all "all" {}} - }} + lappend dimensional [list approved "[_ download.Approval]" approved \ + [list \ + [list pending "[_ download.pending]" {where "dar.approved_p is null"}] \ + [list approved "[_ download.approved]" {where "dar.approved_p = 't'"}] \ + [list rejected "[_ download.rejected]" {where "dar.approved_p = 'f'"}] \ + [list all "[_ download.all]" {}] \ + ] + ] } else { set approval " and dar.approved_p = 't' " } -set table_def { - {archive_name "Software Name" - {lower(archive_name) $order} - {}} - {archive_type "Software Type" {} {}} - {downloads "# Downloads" {} {}} -} +set table_def [list \ + [list archive_name "[_ download.Software_Name_1]"\ + {lower(archive_name) $order} \ + {} + ] \ + [list archive_type "[_ download.Software_Type]" "" ""] \ + [list downloads "[_ download._Downloads]" "" ""] \ + ] + #Setup the metadata set metadata_selects "" db_foreach metadata { @@ -103,9 +105,9 @@ ##Add on the metadata columns if { $admin_p } { - lappend table_def {dar.approved_p "Approval" - {} - {}} + }] } set sql_query " Index: openacs-4/packages/download/www/one-archive.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/download/www/one-archive.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/download/www/one-archive.tcl 7 Nov 2003 19:53:12 -0000 1.7 +++ openacs-4/packages/download/www/one-archive.tcl 24 Feb 2005 13:33:12 -0000 1.8 @@ -27,7 +27,7 @@ where da.archive_id = :archive_id and u.user_id = da.creation_user }] { - ad_return_complaint 1 "The archive you are looking for (archive ID $archive_id) could not be found" + ad_return_complaint 1 "[_ download.lt_The_archive_you_are_l]" return } Index: openacs-4/packages/download/www/one-metadata.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/download/www/one-metadata.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/download/www/one-metadata.tcl 11 Dec 2003 21:40:02 -0000 1.4 +++ openacs-4/packages/download/www/one-metadata.tcl 24 Feb 2005 13:33:12 -0000 1.5 @@ -16,7 +16,7 @@ where dam.linked_p = 't' and dam.metadata_id = :metadata_id }] } { - ad_return_complaint 1 "Metadata id not found" + ad_return_complaint 1 "[_ download.lt_Metadata_id_not_found]" } set answer_column [download_metadata_column $data_type] Index: openacs-4/packages/download/www/one-revision.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/download/www/one-revision.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/download/www/one-revision.tcl 7 Nov 2003 19:53:12 -0000 1.9 +++ openacs-4/packages/download/www/one-revision.tcl 24 Feb 2005 13:33:12 -0000 1.10 @@ -69,7 +69,7 @@ dar.revision_id = :revision_id and dar.creation_user = u.user_id "] { - ad_return_complaint 1 "The revision you are looking for (revision ID $revision_id) could not be found" + ad_return_complaint 1 "[_ download.lt_The_revision_you_are_]" return } Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dynamic-types/tcl/page-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dynamic-types/tcl/table-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/ecommerce/ecommerce.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/ecommerce.info,v diff -u -r1.39 -r1.40 --- openacs-4/packages/ecommerce/ecommerce.info 13 Jan 2005 13:57:54 -0000 1.39 +++ openacs-4/packages/ecommerce/ecommerce.info 24 Feb 2005 13:33:12 -0000 1.40 @@ -7,17 +7,17 @@ ft - + Janine Sisk Bart Teeuwisse Alfred Werner The ACS 3.x based e-commerce solution ported to OpenACS. - 2004-03-10 + 2005-02-10 furfly.net, LLC This module implements all that IT needs for a standard business-to-consumer Web service. You can find a feature summary in the documentaion. - - + + @@ -31,6 +31,7 @@ + @@ -68,6 +69,7 @@ + Index: openacs-4/packages/ecommerce/tcl/ecommerce-credit-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/tcl/ecommerce-credit-procs.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/ecommerce/tcl/ecommerce-credit-procs.tcl 13 Jan 2005 13:57:55 -0000 1.9 +++ openacs-4/packages/ecommerce/tcl/ecommerce-credit-procs.tcl 24 Feb 2005 13:33:13 -0000 1.10 @@ -561,7 +561,7 @@ m = mastercard, v = visa, a = american express - + n = discover / novus } { set exception_count 0 Index: openacs-4/packages/ecommerce/tcl/ecommerce-customer-service-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/tcl/ecommerce-customer-service-procs-postgresql.xql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/ecommerce/tcl/ecommerce-customer-service-procs-postgresql.xql 13 Jan 2005 13:57:55 -0000 1.4 +++ openacs-4/packages/ecommerce/tcl/ecommerce-customer-service-procs-postgresql.xql 24 Feb 2005 13:33:13 -0000 1.5 @@ -30,7 +30,7 @@ - + select i.issue_id, i.open_date, i.close_date, m.issue_type from ec_user_identification id, ec_customer_service_issues i left join ec_cs_issue_type_map m on (i.issue_id = m.issue_id) @@ -40,7 +40,7 @@ - + select i.issue_id, i.open_date, i.close_date, m.issue_type from ec_customer_service_issues i left join ec_cs_issue_type_map m Index: openacs-4/packages/ecommerce/tcl/ecommerce-customer-service-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/tcl/ecommerce-customer-service-procs.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/ecommerce/tcl/ecommerce-customer-service-procs.tcl 13 Jan 2005 13:57:55 -0000 1.7 +++ openacs-4/packages/ecommerce/tcl/ecommerce-customer-service-procs.tcl 24 Feb 2005 13:33:13 -0000 1.8 @@ -108,25 +108,21 @@ return [list $user_identification_id $issue_id] } -ad_proc ec_all_cs_issues_by_one_user { {user_id ""} {user_identification_id ""} } { lists all issues by user_id or user_identification } { - set to_return "
    " - +ad_proc ec_all_cs_issues_by_one_user { + {user_id ""} + {user_identification_id ""} +} { + creates html list of all issues by user_id or user_identification +} { + set to_return "" + set no_issues 0 set old_issue_id "" set issue_type_list [list] if { ![empty_string_p $user_id] } { - set sql + db_foreach user_customer_service_issue {} { - db_foreach user_customer_service_issue { - select i.issue_id, i.open_date, i.close_date, m.issue_type - from ec_customer_service_issues i, ec_cs_issue_type_map m, ec_user_identification id - where i.issue_id = m.issue_id(+) - and i.user_identification_id = id.user_identification_id - and id.user_id = :user_id - order by i.issue_id - } { - if { $issue_id != $old_issue_id } { if { [llength $issue_type_list] > 0 } { append to_return " ([join $issue_type_list ", "])" @@ -141,17 +137,14 @@ lappend issue_type_list $issue_type } set old_issue_id $issue_id + + } if_no_rows { + set no_issues 1 } - } else { + } elseif { ![empty_string_p $user_identification_id] } { - db_foreach customer_service_issue { - select i.issue_id, i.open_date, i.close_date, m.issue_type - from ec_customer_service_issues i, ec_cs_issue_type_map m - where i.issue_id = m.issue_id(+) - and i.user_identification_id = :user_identification_id - order by i.issue_id - } { + db_foreach ident_customer_service_issue {} { if { $issue_id != $old_issue_id } { if { [llength $issue_type_list] > 0 } { @@ -167,14 +160,16 @@ lappend issue_type_list $issue_type } set old_issue_id $issue_id + + } if_no_rows { + set no_issues 1 } } - - if { [llength $issue_type_list] > 0 } { - append to_return " ([join $issue_type_list ", "])" + if { $no_issues } { + set to_return "

    No customer service issues found for this contact.

    " + } else { + set to_return "
      ${to_return}
    " } - - append to_return "
" return $to_return } Index: openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.tcl,v diff -u -r1.10 -r1.11 --- openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.tcl 15 Mar 2004 04:28:00 -0000 1.10 +++ openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.tcl 24 Feb 2005 13:33:13 -0000 1.11 @@ -193,9 +193,7 @@ # Create a customer service issue/interaction/action - set user_identification_and_issue_id [ec_customer_service_simple_issue "" "automatic" "email" \ - "To: $email\nFrom: [ad_parameter -package_id [ec_id] CustomerServiceEmailAddress ecommerce]\nSubject: $email_subject" \ - $order_id $issue_type_list $email_body $user_id] + set user_identification_and_issue_id [ec_customer_service_simple_issue "" "automatic" "email" "To: $email\nFrom: [ad_parameter -package_id [ec_id] CustomerServiceEmailAddress ecommerce]\nSubject: $email_subject" $order_id $issue_type_list $email_body $user_id] set user_identification_id [lindex $user_identification_and_issue_id 0] set issue_id [lindex $user_identification_and_issue_id 1] Index: openacs-4/packages/ecommerce/tcl/ecommerce-money-computations-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/tcl/ecommerce-money-computations-procs.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/ecommerce/tcl/ecommerce-money-computations-procs.tcl 13 Jan 2005 13:57:55 -0000 1.8 +++ openacs-4/packages/ecommerce/tcl/ecommerce-money-computations-procs.tcl 24 Feb 2005 13:33:13 -0000 1.9 @@ -413,3 +413,15 @@ return [list $total_reg_shipping_cost $total_exp_shipping_cost 0] } + +ad_proc ec_same_value { + value_one + value_two +} { + Returns true if values are essentially the same for monetary purposes, otherwise returns false. + This takes care of comparisons of two calculated, binary values where the difference is monetarily insignificant, + yet logical comparisons would be false. +} { + set is_same [expr [expr abs( $value_one - $value_two ) ] < 0.009] + return $is_same +} \ No newline at end of file Index: openacs-4/packages/ecommerce/tcl/ecommerce-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/tcl/ecommerce-procs.tcl,v diff -u -r1.25 -r1.26 --- openacs-4/packages/ecommerce/tcl/ecommerce-procs.tcl 13 Jan 2005 13:57:56 -0000 1.25 +++ openacs-4/packages/ecommerce/tcl/ecommerce-procs.tcl 24 Feb 2005 13:33:13 -0000 1.26 @@ -198,34 +198,34 @@ set currency [ad_parameter -package_id [ec_id] Currency ecommerce] if { ([empty_string_p $base_shipping_cost] || $base_shipping_cost == 0) && ([empty_string_p $default_shipping_per_item] || $default_shipping_per_item == 0) && ([empty_string_p $weight_shipping_cost] || $weight_shipping_cost == 0) && ([empty_string_p $add_exp_base_shipping_cost] || $add_exp_base_shipping_cost == 0) && ([empty_string_p $add_exp_amount_per_item] || $add_exp_amount_per_item == 0) && ([empty_string_p $add_exp_amount_by_weight] || $add_exp_amount_by_weight == 0) } { - return "The customers are not charged for shipping beyond what is specified for each product individually." + return "Customers are not charged for shipping beyond what is specified for each product individually." } if { [empty_string_p $base_shipping_cost] || $base_shipping_cost == 0 } { set shipping_summary "For each order, there is no base cost. However, " } else { - set shipping_summary "For each order, there is a base cost of [ec_pretty_price $base_shipping_cost $currency]. On top of that, " + set shipping_summary "For each order, there is a base cost of [ec_pretty_price $base_shipping_cost $currency]. In addition, " } if { ([empty_string_p $weight_shipping_cost] || $weight_shipping_cost == 0) && ([empty_string_p $default_shipping_per_item] || $default_shipping_per_item == 0) } { append shipping_summary "the per-item cost is set using the amount in the \"Shipping Price\" field of each item (or \"Shipping Price - Additional\", if more than one of the same product is ordered). " } elseif { [empty_string_p $weight_shipping_cost] || $weight_shipping_cost == 0 } { - append shipping_summary "the per-item cost is [ec_pretty_price $default_shipping_per_item $currency], unless the \"Shipping Price\" has been set for that product (or \"Shipping Price - Additional\", if more than one of the same product is ordered). " + append shipping_summary "the per-item cost is [ec_pretty_price $default_shipping_per_item $currency], unless the \"Shipping Price\" has been set for that product. A \"Shipping Price - Additional\" amount is added for each additional unit of the same product ordered). " } else { - append shipping_summary "the per-item-cost is equal to [ec_pretty_price $weight_shipping_cost $currency] times its weight in [ad_parameter -package_id [ec_id] WeightUnits ecommerce], unless the \"Shipping Price\" has been set for that product (or \"Shipping Price - Additional\", if more than one of the same product is ordered). " + append shipping_summary "the per-item-cost is equal to [ec_pretty_price $weight_shipping_cost $currency] times its weight in [ad_parameter -package_id [ec_id] WeightUnits ecommerce], unless the \"Shipping Price\" has been set for that product. A \"Shipping Price - Additional\" amount is added for each additional unit of the same product ordered). " } if { ([empty_string_p $add_exp_base_shipping_cost] || $add_exp_base_shipping_cost == 0) && ([empty_string_p $add_exp_amount_per_item] || $add_exp_amount_per_item == 0) && ([empty_string_p $add_exp_amount_by_weight] || $add_exp_amount_by_weight == 0) } { set express_part_of_shipping_summary "There are no additional charges for express shipping. " } else { if { ![empty_string_p $add_exp_base_shipping_cost] && $add_exp_base_shipping_cost != 0 } { - set express_part_of_shipping_summary "An additional amount of [ec_pretty_price $add_exp_base_shipping_cost $currency] is added to the base cost for Regular Shipping. " + set express_part_of_shipping_summary "Express Shipping adds [ec_pretty_price $add_exp_base_shipping_cost $currency] to the Regular Shipping's base charge. " } if { ![empty_string_p $add_exp_amount_per_item] && $add_exp_amount_per_item != 0 } { - append express_part_of_shipping_summary "An additional amount of [ec_pretty_price $add_exp_amount_per_item $currency] is added for each item, on top of the amount charged for Regular Shipping. " + append express_part_of_shipping_summary "Express Shipping adds [ec_pretty_price $add_exp_amount_per_item $currency] for each item, in addition to the amount charged for Regular Shipping. " } if { ![empty_string_p $add_exp_amount_by_weight] && $add_exp_amount_by_weight != 0 } { - append express_part_of_shipping_summary "An additional amount of [ec_pretty_price $add_exp_amount_by_weight $currency] times the weight in [ad_parameter -package_id [ec_id] WeightUnits ecommerce] of each item is added, on top of the amount charged for Regular Shipping. " + append express_part_of_shipping_summary "Express Shipping adds [ec_pretty_price $add_exp_amount_by_weight $currency] per [ad_parameter -package_id [ec_id] WeightUnits ecommerce] of each item ordered, in addition to the amount charged for Regular Shipping. " } } @@ -326,11 +326,11 @@ } ad_proc ec_full_categorization_display { {category_id ""} {subcategory_id ""} {subsubcategory_id ""} } { -given a category_id, subcategory_id, and subsubcategory_id -(can be null), displays the full categorization, e.g. -category_name: subcategory_name: subsubcategory_name. -If you have a subcategory_id but not a category_id, this -will look up the category_id to find the category_name. + given a category_id, subcategory_id, and subsubcategory_id + (can be null), displays the full categorization, e.g. + category_name: subcategory_name: subsubcategory_name. + If you have a subcategory_id but not a category_id, this + will look up the category_id to find the category_name. } { if { [empty_string_p $category_id] && [empty_string_p $subcategory_id] && [empty_string_p $subsubcategory_id] } { return "" @@ -395,12 +395,12 @@ } ad_proc ec_display_rating { rating } { -Given a product's rating, if the star gifs exist, it will -print out the appropriate # (to the nearest half); otherwise -it will just say what the rating is (to the nearest half). -The stars should be in the subdirectory /graphics of the ecommerce -user pages and they should be named star-full.gif, star-empty.gif, -star-half.gif + Given a product's rating, if the star gifs exist, it will + print out the appropriate # (to the nearest half); otherwise + it will just say what the rating is (to the nearest half). + The stars should be in the subdirectory /graphics of the ecommerce + user pages and they should be named star-full.gif, star-empty.gif, + star-half.gif } { set double_ave_rating [expr $rating * 2] set double_rounded_rating [expr round($double_ave_rating)] @@ -575,7 +575,7 @@ ad_proc ec_add_to_cart_link { product_id - {add_to_cart_button_text "Add to Cart"} + {add_to_cart_button_text "Add to Shopping Cart"} {preorder_button_text "Pre-order This Now!"} {form_action "shopping-cart-add"} {order_id ""} @@ -918,7 +918,7 @@ } } -ad_proc ec_items_for_fulfillment_or_return { order_id {for_fulfillment_p "t"} } { produced a HTML form fragment for administrators to check off items that are fulfilled or received back } { +ad_proc ec_items_for_fulfillment_or_return { order_id {for_fulfillment_p "t"} } { produces an HTML form fragment for administrators to select from items that are fulfilled or received back } { if { $for_fulfillment_p == "t" } { set item_view "ec_items_shippable" @@ -1448,6 +1448,7 @@ remember what you have in your shopping cart. Please turn on cookies in your browser. " + ad_script_abort } elseif {[string compare $_ec_cookie_requirement "cookies_are_not_required"] == 0} { # For this page continue @@ -1467,7 +1468,7 @@ In Microsoft Internet Explorer 4.0, you can enable cookies from View -> Internet Options -> Advanced -> Security.

[ec_continue_shopping_options]

" - + ad_script_abort } else { ad_return_error "bug" "we should never get here" } Index: openacs-4/packages/ecommerce/tcl/ecommerce-state-changes-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/tcl/ecommerce-state-changes-procs.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/ecommerce/tcl/ecommerce-state-changes-procs.tcl 13 Jan 2005 13:57:56 -0000 1.7 +++ openacs-4/packages/ecommerce/tcl/ecommerce-state-changes-procs.tcl 24 Feb 2005 13:33:13 -0000 1.8 @@ -16,6 +16,7 @@ need to be taken: 1. ec_orders.order_state becomes in_basket + ec_orders.saved_p becomes t 2. ec_creditcards.failed_p becomes t 3. any gift certificates used should be reinstated 4. confirmed_date is set to null (because we use existence of @@ -31,7 +32,7 @@ where order_id=:order_id" db_dml order_state_update " update ec_orders - set order_state='in_basket', confirmed_date=null + set order_state='in_basket', confirmed_date=null, saved_p = 't' where order_id=:order_id" db_dml creditcard_update " update ec_creditcards @@ -45,7 +46,7 @@ # following cleans up errors resulting from ccard failures with shipping fulfill-3.tcl db_dml update_transaction_state " update ec_financial_transactions - set to_be_captured = 'f' + set to_be_captured_p = 'f' where order_id=:order_id and creditcard_id=:creditcard_id" } Index: openacs-4/packages/ecommerce/tcl/ecommerce-state-changes-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/tcl/ecommerce-state-changes-procs.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/ecommerce/tcl/ecommerce-state-changes-procs.xql 30 Nov 2002 17:31:18 -0000 1.3 +++ openacs-4/packages/ecommerce/tcl/ecommerce-state-changes-procs.xql 24 Feb 2005 13:33:13 -0000 1.4 @@ -13,7 +13,7 @@ update ec_orders - set order_state='in_basket', confirmed_date=null + set order_state='in_basket', confirmed_date=null, saved_p = 't' where order_id=:order_id @@ -25,6 +25,15 @@ where creditcard_id=:creditcard_id
+ + + + update ec_financial_transactions + set to_be_captured_p = 'f' + where order_id=:order_id + and creditcard_id =: creditcard_id + + Index: openacs-4/packages/ecommerce/www/checkout-one-form-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/checkout-one-form-2.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/ecommerce/www/checkout-one-form-2.tcl 13 Jan 2005 13:57:58 -0000 1.2 +++ openacs-4/packages/ecommerce/www/checkout-one-form-2.tcl 24 Feb 2005 13:33:13 -0000 1.3 @@ -101,7 +101,17 @@ } -# eventual evolve this so checks come first, then ad_return_complaints +# We need them to be logged in + +set user_id [ad_conn user_id] +if {$user_id == 0} { + ns_log Notice "checkout-one-form-2.tcl,ref(137): user_id is 0 which should never happen, redirecting user." + rp_form_put return_url "[ad_conn url]?[export_entire_form_as_url_vars]" + rp_internal_redirect "/register" + ad_script_abort +} + +# eventually evolve this so checks come first, then ad_return_complaints # ie show complaints after all input has been checked, to provide thorough feedback to user @@ -129,16 +139,7 @@ ad_script_abort } -# We need them to be logged in -set user_id [ad_conn user_id] -if {$user_id == 0} { - set return_url "[ad_conn url]?[export_entire_form_as_url_vars]" - ns_log Notice "checkout-one-form-2.tcl,ref(137): user_id is 0 which should never happen, redirecting user." - rp_internal_redirect "/register?[export_url_vars return_url]" - ad_script_abort -} - # Make sure they have an in_basket order unless they are ordering a # gift certificate, otherwise they've probably gotten here by pushing # Back, so return them to index.tcl @@ -172,7 +173,7 @@ regsub -all { +} $bill_to_last_name " " bill_to_last_name set bill_to_attn "[string trim $bill_to_first_names] [string trim $bill_to_last_name]" -if { [info exists billing_address_id] && ![empty_string_p $billing_address_id] } { +if { [value_if_exists billing_address_id] > 0} { # This is an existing address that might have been edited @@ -778,7 +779,7 @@ where order_id=:order_id" } } -set referer "checkout-one-form-2" -set hidden_vars [export_vars -url {referer}] + db_release_unused_handles -rp_internal_redirect "checkout-3.tcl?$hidden_vars" +rp_form_put url checkout-one-form-2 +rp_internal_redirect checkout-3.tcl Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/default-master.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/default-master.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/ecommerce/www/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/index.adp,v diff -u -r1.7 -r1.8 --- openacs-4/packages/ecommerce/www/index.adp 13 Jan 2005 13:57:59 -0000 1.7 +++ openacs-4/packages/ecommerce/www/index.adp 24 Feb 2005 13:33:14 -0000 1.8 @@ -24,5 +24,5 @@ @products;noquote@ - @prev_link@ @separator@ @next_link@ + @prev_link;noquote@ @separator@ @next_link;noquote@ Index: openacs-4/packages/ecommerce/www/product-search.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/product-search.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/ecommerce/www/product-search.tcl 13 Jan 2005 13:58:00 -0000 1.7 +++ openacs-4/packages/ecommerce/www/product-search.tcl 24 Feb 2005 13:33:14 -0000 1.8 @@ -44,9 +44,6 @@ if { ![empty_string_p $combocategory_id] } { set category_id [lindex [split $combocategory_id "|"] 0] set subcategory_id [lindex [split $combocategory_id "|"] 1] -} else { - set category_id "" - set subcategory_id "" } # filter overflow attempts from really long search strings Index: openacs-4/packages/ecommerce/www/shopping-cart-quantities-change.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/shopping-cart-quantities-change.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/ecommerce/www/shopping-cart-quantities-change.tcl 8 Mar 2004 19:46:11 -0000 1.6 +++ openacs-4/packages/ecommerce/www/shopping-cart-quantities-change.tcl 24 Feb 2005 13:33:14 -0000 1.7 @@ -94,6 +94,7 @@ # set size_choice [lindex $product_color_size_style 2] # set style_choice [lindex $product_color_size_style 3] +set max_quantity_to_add [parameter::get -parameter CartMaxToAdd] db_transaction { @@ -114,7 +115,7 @@ set style_choice [lindex $product_color_size_style 3] if { $quantity_to_add > 0 } { - set remaining_quantity $quantity_to_add + set remaining_quantity [min $quantity_to_add $max_quantity_to_add] while { $remaining_quantity > 0 } { db_dml insert_new_quantity_to_add "insert into ec_items Index: openacs-4/packages/ecommerce/www/shopping-cart.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/shopping-cart.adp,v diff -u -r1.10 -r1.11 --- openacs-4/packages/ecommerce/www/shopping-cart.adp 13 Jan 2005 13:58:01 -0000 1.10 +++ openacs-4/packages/ecommerce/www/shopping-cart.adp 24 Feb 2005 13:33:14 -0000 1.11 @@ -44,7 +44,7 @@
Index: openacs-4/packages/ecommerce/www/shopping-cart.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/shopping-cart.tcl,v diff -u -r1.13 -r1.14 --- openacs-4/packages/ecommerce/www/shopping-cart.tcl 13 Jan 2005 13:58:01 -0000 1.13 +++ openacs-4/packages/ecommerce/www/shopping-cart.tcl 24 Feb 2005 13:33:14 -0000 1.14 @@ -57,8 +57,10 @@ set product_counter 0 set total_price 0 -set currency [ad_parameter -package_id [ec_id] Currency] +set currency [parameter::get -parameter Currency] +set max_quantity_length [string length [parameter::get -parameter CartMaxToAdd]] + db_multirow -extend { line_subtotal } in_cart get_products_in_cart " select p.product_name, p.one_line_description, p.product_id, count(*) as quantity, u.offer_code, i.color_choice, i.size_choice, i.style_choice, '' as price from ec_orders o Index: openacs-4/packages/ecommerce/www/toolbar.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/Attic/toolbar.adp,v diff -u -r1.4 -r1.5 --- openacs-4/packages/ecommerce/www/toolbar.adp 13 Jan 2005 13:58:01 -0000 1.4 +++ openacs-4/packages/ecommerce/www/toolbar.adp 24 Feb 2005 13:33:14 -0000 1.5 @@ -1,2 +1,14 @@ -@ec_search_widget;noquote@ -

gift certificates ] shopping cart ] your @ec_system_name@ account ]

+

+ + [ gift certificates ] + + + [ shopping cart ] + + + [ your @ec_system_name@ account ] + +

+ + @ec_search_widget;noquote@ + Index: openacs-4/packages/ecommerce/www/toolbar.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/Attic/toolbar.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/ecommerce/www/toolbar.tcl 13 Jan 2005 13:58:01 -0000 1.4 +++ openacs-4/packages/ecommerce/www/toolbar.tcl 24 Feb 2005 13:33:14 -0000 1.5 @@ -11,44 +11,37 @@ # @cvs-id $Id$ # @creation-date September 2002 -# Create empty lists for each optional parameter that has not been -# passed in. +# we'll show a search widget at the top if there are categories to search in +if { ![empty_string_p [db_string get_check_of_categories "select 1 from dual where exists (select 1 from ec_categories)" -default ""]] } { + # Create a context aware search widget to search for products. -foreach parameter {category_id subcategory_id search_text current_location} { +# Create empty values for each optional parameter that has not been passed from a master template. +foreach parameter {combocategory_id category_id subcategory_id search_text current_location} { if {![info exists $parameter]} { set $parameter {} } } - - -# Get the ecommerce package url - -set ecommerce_base_url [ec_url] - -# we'll show a search widget at the top if there are categories to search in -if { ![empty_string_p [db_string get_check_of_categories "select 1 from dual where exists (select 1 from ec_categories)" -default ""]] } { - # Create a context aware search widget to search for products. + + # Decode the combo of category and subcategory ids + if { ![empty_string_p $combocategory_id] } { + set category_id [lindex [split $combocategory_id "|"] 0] + set subcategory_id [lindex [split $combocategory_id "|"] 1] + } set ec_search_widget [ec_search_widget "$category_id|$subcategory_id" $search_text] } else { set ec_search_widget "" } - - # Determine the URLs to the Shopping Cart and store Account. +# Get the ecommerce package url +set ecommerce_base_url [ec_url] -# set ec_cart_link (ec_insecurelink (ad_parameter -package_id (ec_id) EcommercePath)shopping-cart) -# set ec_account_link (ec_insecurelink (ad_parameter -package_id (ec_id) EcommercePath)account) set ec_cart_link [ec_insecurelink [file join $ecommerce_base_url "shopping-cart"]] set ec_account_link [ec_insecurelink [file join $ecommerce_base_url "account"]] set ec_gift_cert_order_link [ec_insecurelink [file join $ecommerce_base_url "gift-certificate-order"]] # Get the name of the ecommerce package - set ec_system_name [ec_system_name] # Check if gift certificates can be bought. - set gift_certificates_are_allowed [ad_parameter -package_id [ec_id] SellGiftCertificatesP ecommerce] - - Index: openacs-4/packages/ecommerce/www/admin/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/index.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/ecommerce/www/admin/index.tcl 15 Mar 2004 04:28:01 -0000 1.6 +++ openacs-4/packages/ecommerce/www/admin/index.tcl 24 Feb 2005 13:33:14 -0000 1.7 @@ -23,80 +23,85 @@
Documentation: /doc/ecommerce or [ec_url]doc/ +
+" -
    +# get data for user class links +set user_classes_reqs_approval [ad_parameter -package_id [ec_id] UserClassAllowSelfPlacement ecommerce] +set n_not_yet_approved [db_string non_approved_users_select "select count(*) from ec_user_class_user_map where user_class_approved_p is null or user_class_approved_p='f'"] -" +doc_body_append "

    business operations

      " +# orders +db_1row num_orders_select " + select + sum(one_if_within_n_days(confirmed_date,1)) as n_in_last_24_hours, + sum(one_if_within_n_days(confirmed_date,7)) as n_in_last_7_days + from ec_orders_reportable" -# Problems +db_1row num_products_select "select count(*) as n_products, round(avg(price),2) as avg_price from ec_products_displayable" -set unresolved_problem_count [db_string unresolved_problem_count_select "select count(*) from ec_problems_log where resolved_date is null"] +# links and info mainly related to business operations -doc_body_append " +doc_body_append "
    • Orders / Shipments / Refunds ($n_in_last_24_hours orders in last 24 hours; $n_in_last_7_days in last 7 days)
    • " -
    • Potential Problems ($unresolved_problem_count unresolved problem[ec_decode $unresolved_problem_count 1 "" "s"]) -

      -" +# customer service -db_1row num_orders_select " -select - sum(one_if_within_n_days(confirmed_date,1)) as n_in_last_24_hours, - sum(one_if_within_n_days(confirmed_date,7)) as n_in_last_7_days -from ec_orders_reportable" +doc_body_append "

    • Customer Service ([db_string open_issues_select "select count(*) from ec_customer_service_issues where close_date is null"] open issues)
    • " -db_1row num_products_select "select count(*) as n_products, round(avg(price),2) as avg_price from ec_products_displayable" +# customer class membership requests +if { $user_classes_reqs_approval } { + doc_body_append "
    • User Classes ($n_not_yet_approved not yet approved user[ec_decode $n_not_yet_approved 1 "" "s"])
    • " +} -doc_body_append " +# customer reviews +if { [ad_parameter -package_id [ec_id] ProductCommentsAllowP ecommerce] } { + doc_body_append "
    • Customer Reviews ([db_string non_approved_comments_select "select count(*) from ec_product_comments where approved_p is null"] not yet approved)
    • " +} -
    • Orders / Shipments / Refunds ($n_in_last_24_hours orders in last 24 hours; $n_in_last_7_days in last 7 days) +# recommend products -

      +doc_body_append "

    • Recommend Products ($n_products products; average price: [ec_pretty_price $avg_price])
    • " -
    • Products ($n_products products; average price: [ec_pretty_price $avg_price]) +doc_body_append "
    " -

    -

  • Customer Service ([db_string open_issues_select "select count(*) from ec_customer_service_issues where close_date is null"] open issues) -

    -" +# links and info mainly related to website administration +doc_body_append "

    website administration

      " -if { [ad_parameter -package_id [ec_id] ProductCommentsAllowP ecommerce] } { - doc_body_append "
    • Customer Reviews ([db_string non_approved_comments_select "select count(*) from ec_product_comments where approved_p is null"] not yet approved) -

      - " +set unresolved_problem_count [db_string unresolved_problem_count_select "select count(*) from ec_problems_log where resolved_date is null"] + +doc_body_append "

    • Potential Problems ($unresolved_problem_count unresolved problem[ec_decode $unresolved_problem_count 1 "" "s"])
    • " + +set paymentgateway_key [ad_parameter -package_id [ec_id] PaymentGateway ecommerce] +if { [string length $paymentgateway_key] > 1 } { + doc_body_append "
    • Payment Gateway Administration
    • " } -set n_not_yet_approved [db_string non_approved_users_select "select count(*) from ec_user_class_user_map where user_class_approved_p is null or user_class_approved_p='f'"] -doc_body_append "
    • User Classes -($n_not_yet_approved not yet approved user[ec_decode $n_not_yet_approved 1 "" "s"]) +doc_body_append "
    • Products ($n_products products; average price: [ec_pretty_price $avg_price])
    • " -

      -" +doc_body_append "

    • Product Templates
    • " +# customer class membership requests +if { !$user_classes_reqs_approval } { + doc_body_append "
    • User Classes ($n_not_yet_approved not yet approved user[ec_decode $n_not_yet_approved 1 "" "s"])
    • " +} + set multiple_retailers_p [ad_parameter -package_id [ec_id] MultipleRetailersPerProductP ecommerce] if { $multiple_retailers_p } { - doc_body_append "
    • Retailers\n" + doc_body_append "
    • Retailers
    • " } else { - doc_body_append "
    • Shipping Costs -
    • Sales Tax\n" + doc_body_append "
    • Shipping Costs
    • +
    • Sales Tax
    • " } -doc_body_append "
    • Product Templates -" +doc_body_append "
    • Mailing Lists
    • +
    • Email Templates
    • +
    • User Search Terms
    • +
    • Audit [ec_system_name]
    • " -doc_body_append "
    • Mailing Lists -
    • Email Templates\n - -

      -

    • User Search Terms -
    - -

    -

  • Audit [ec_system_name] -
- +doc_body_append " [ad_admin_footer] " Index: openacs-4/packages/ecommerce/www/admin/customer-service/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/customer-service/index.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/ecommerce/www/admin/customer-service/index.tcl 9 Mar 2004 00:59:47 -0000 1.4 +++ openacs-4/packages/ecommerce/www/admin/customer-service/index.tcl 24 Feb 2005 13:33:14 -0000 1.5 @@ -12,37 +12,31 @@ append doc_body "[ad_admin_header "Customer Service Administration"] -

Customer Service Administration

+

Customer Service Issues

-[ad_context_bar [list "../index.tcl" "Ecommerce([ec_system_name])"] "Customer Service Administration"] +[ad_context_bar [list "../index.tcl" "Ecommerce([ec_system_name])"] "Customer Service"] -
+
- -

Customer Service Issues

- -
    -
  • uncategorized : +
- + << @@ -46,7 +46,7 @@  >  - + >> Index: openacs-4/packages/acs-templating/tcl/paginator-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/paginator-procs.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/acs-templating/tcl/paginator-procs.tcl 13 Jan 2005 13:56:00 -0000 1.14 +++ openacs-4/packages/acs-templating/tcl/paginator-procs.tcl 24 Feb 2005 13:33:02 -0000 1.15 @@ -398,7 +398,6 @@ set group_count $properties(group_count) set group_size $properties(groupsize) - # set page_count [expr $properties(page_count) + $properties(page_offset)] set page_count $properties(page_count) if { $group > $group_count } { @@ -409,7 +408,7 @@ } set start [expr ($group - 1) * $group_size + 1] - set end [expr $start + $group_size] + set end [expr $start + $group_size - 1] if { $end > $page_count } { set end $page_count } @@ -618,6 +617,7 @@ set info(group_count) $properties(group_count) set info(current_page) $page set info(current_group) $group + set info(groupsize) $groupsize array set info { next_page {} @@ -639,11 +639,11 @@ } - if { $group > 1 } { + if { $group > 1 && $groupsize > 1 } { set info(previous_group) [expr ($group - 2) * $groupsize + 1] } - if { $group < $properties(group_count) } { + if { $group < $properties(group_count) && $groupsize > 1 } { set info(next_group) [expr $group * $groupsize + 1] } Index: openacs-4/packages/acs-templating/tcl/parse-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/parse-procs.tcl,v diff -u -r1.36 -r1.37 --- openacs-4/packages/acs-templating/tcl/parse-procs.tcl 4 Feb 2005 15:33:25 -0000 1.36 +++ openacs-4/packages/acs-templating/tcl/parse-procs.tcl 24 Feb 2005 13:33:02 -0000 1.37 @@ -547,7 +547,7 @@ @author Peter Marklund (peter@collaboraid.biz) @creation-date 25 October 2002 } { - return {(^|[^\\])@([a-zA-Z0-9_:]+)\.([a-zA-Z0-9_:\.]+)@} + return {(^|[^\\])@([a-zA-Z0-9_:]+)\.([a-zA-Z0-9_\.:]+)@} } ad_proc -public template::adp_array_variable_regexp_noquote {} { Index: openacs-4/packages/acs-templating/tcl/tag-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/tag-procs.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/acs-templating/tcl/tag-procs.tcl 2 Feb 2005 21:32:28 -0000 1.11 +++ openacs-4/packages/acs-templating/tcl/tag-procs.tcl 24 Feb 2005 13:33:02 -0000 1.12 @@ -176,7 +176,7 @@ || [regsub {^"@([a-zA-Z0-9_:]+)@"$} $arg1 {\1} arg1] )} { error "IF tag defined test uses string not variable for $arg1" } - + append condition "\[info exists $arg1\]" set next $i } Index: openacs-4/packages/acs-templating/tcl/widget-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/widget-procs.tcl,v diff -u -r1.34 -r1.35 --- openacs-4/packages/acs-templating/tcl/widget-procs.tcl 25 Mar 2004 21:51:24 -0000 1.34 +++ openacs-4/packages/acs-templating/tcl/widget-procs.tcl 24 Feb 2005 13:33:02 -0000 1.35 @@ -93,10 +93,15 @@ set element_id $element(id) set value [string trim [ns_queryget $element_id]] + set is_optional [info exists element(optional)] if { [empty_string_p $value] } { - template::element::set_error $element(form_id) $element_id "Please enter a search string." - return [list] + if { [string is true $is_optional] } { + return "" + } else { + template::element::set_error $element(form_id) $element_id "Please enter a search string." + return [list] + } } if { [string equal $value ":search:"] } { Index: openacs-4/packages/attachments/attachments.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/attachments/attachments.info,v diff -u -r1.14 -r1.15 --- openacs-4/packages/attachments/attachments.info 13 Jan 2005 13:56:04 -0000 1.14 +++ openacs-4/packages/attachments/attachments.info 24 Feb 2005 13:33:02 -0000 1.15 @@ -8,14 +8,14 @@ t attachments - + OpenACS Attachment support 2003-11-10 OpenACS Provide widgets and datamodel to support attachments on arbitrary objects. Used by forums. - + Index: openacs-4/packages/bm-portlet/bm-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bm-portlet/bm-portlet.info,v diff -u -r1.10 -r1.11 --- openacs-4/packages/bm-portlet/bm-portlet.info 13 Jan 2005 13:56:10 -0000 1.10 +++ openacs-4/packages/bm-portlet/bm-portlet.info 24 Feb 2005 13:33:02 -0000 1.11 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-create-packages.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-create-packages.sql,v diff -u -r1.5 -r1.6 --- openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-create-packages.sql 27 Mar 2004 13:15:29 -0000 1.5 +++ openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-create-packages.sql 24 Feb 2005 13:33:03 -0000 1.6 @@ -48,6 +48,7 @@ creation_date in date default sysdate(), creation_user in integer, creation_ip in varchar2 default null, + fix_for_version in integer default null, item_subtype in varchar2 default 'bt_bug', content_type in varchar2 default 'bt_bug_revision' ) return integer; @@ -329,6 +330,7 @@ creation_date in date default sysdate(), creation_user in integer, creation_ip in varchar2 default null, + fix_for_version in integer default null, item_subtype in varchar2 default 'bt_bug', content_type in varchar2 default 'bt_bug_revision' ) return integer @@ -383,7 +385,8 @@ parent_id, project_id, creation_date, - creation_user) + creation_user, + fix_for_version) values (v_bug_id, v_bug_number, @@ -392,7 +395,8 @@ v_folder_id, bt_bug.new.package_id, bt_bug.new.creation_date, - bt_bug.new.creation_user); + bt_bug.new.creation_user, + bt_bug.new.fix_for_version); -- create the initial revision v_revision_id := bt_bug_revision.new( @@ -401,7 +405,7 @@ component_id => bt_bug.new.component_id, found_in_version => bt_bug.new.found_in_version, fix_for_version => null, - fixed_in_version => null, + fixed_in_version => bt_bug.new.fix_for_version, resolution => null, user_agent => bt_bug.new.user_agent, summary => bt_bug.new.summary, Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/sql/oracle/upgrade/upgrade-1.3a7-1.3a8.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-create.sql,v diff -u -r1.12 -r1.13 --- openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-create.sql 2 Apr 2004 00:30:13 -0000 1.12 +++ openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-create.sql 24 Feb 2005 13:33:03 -0000 1.13 @@ -389,7 +389,7 @@ 'content_revision.revision_name' ); -select define_function_args ('bt_bug__new','bug_id,bug_number,package_id,component_id,found_in_version,summary,user_agent,comment_content,comment_formt,creation_date,creation_user,creation_ip,item_subtype;bt_bug,content_type;bt_bug_revision'); +select define_function_args ('bt_bug__new','bug_id,bug_number,package_id,component_id,found_in_version,summary,user_agent,comment_content,comment_formt,creation_date,creation_user,creation_ip,fix_for_version,item_subtype;bt_bug,content_type;bt_bug_revision'); create or replace function bt_bug__new( integer, -- bug_id @@ -404,6 +404,7 @@ timestamptz, -- creation_date integer, -- creation_user varchar, -- creation_ip + integer, -- fix_for_version varchar, -- item_subtype varchar -- content_type ) returns int @@ -421,9 +422,10 @@ p_creation_date alias for $10; p_creation_user alias for $11; p_creation_ip alias for $12; - p_item_subtype alias for $13; - p_content_type alias for $14; - + p_fix_for_version alias for $13; + p_item_subtype alias for $14; + p_content_type alias for $15; + v_bug_id integer; v_revision_id integer; v_bug_number integer; @@ -467,24 +469,24 @@ -- create the item type row insert into bt_bugs - (bug_id, bug_number, comment_content, comment_format, parent_id, project_id, creation_date, creation_user) + (bug_id, bug_number, comment_content, comment_format, parent_id, project_id, creation_date, creation_user, fix_for_version) values - (v_bug_id, v_bug_number, p_comment_content, p_comment_format, v_folder_id, p_package_id, p_creation_date, p_creation_user); + (v_bug_id, v_bug_number, p_comment_content, p_comment_format, v_folder_id, p_package_id, p_creation_date, p_creation_user, p_fix_for_version); -- create the initial revision v_revision_id := bt_bug_revision__new( null, -- bug_revision_id v_bug_id, -- bug_id p_component_id, -- component_id p_found_in_version, -- found_in_version - null, -- fix_for_version + p_fix_for_version, -- fix_for_version null, -- fixed_in_version null, -- resolution p_user_agent, -- user_agent p_summary, -- summary p_creation_date, -- creation_date p_creation_user, -- creation_user - p_creation_ip -- creation_ip + p_creation_ip, -- creation_ip ); return v_bug_id; @@ -545,7 +547,7 @@ varchar, -- summary timestamptz, -- creation_date integer, -- creation_user - varchar -- creation_ip + varchar -- creation_ip ) returns int as ' declare Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/sql/postgresql/upgrade-1.3a7-1.3a8.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/bug-tracker/tcl/bug-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-procs-oracle.xql,v diff -u -r1.7 -r1.8 --- openacs-4/packages/bug-tracker/tcl/bug-procs-oracle.xql 13 Jan 2005 13:56:15 -0000 1.7 +++ openacs-4/packages/bug-tracker/tcl/bug-procs-oracle.xql 24 Feb 2005 13:33:03 -0000 1.8 @@ -75,62 +75,7 @@ end; - - - - select kw.heading, - km.keyword_id, - count(b.bug_id) - from cr_keywords kw, - cr_item_keyword_map km, - bt_bugs b - where kw.parent_id = :parent_id - and km.keyword_id = kw.keyword_id - and b.bug_id (+) = km.item_id - and b.project_id = :package_id - group by kw.heading, km.keyword_id - order by kw.heading - - - - - - - - select v.version_name, - b.fix_for_version, - count(b.bug_id) as num_bugs - from bt_bugs b, - bt_versions v - where b.project_id = :package_id - and v.version_id (+) = b.fix_for_version - group by b.fix_for_version, v.anticipated_freeze_date, v.version_name - order by v.anticipated_freeze_date, v.version_name - - - - - - - select p.first_names || ' ' || p.last_name as name, - crum.user_id, - count(b.bug_id) as num_bugs - from bt_bugs b, - workflow_case_assigned_actions aa, - workflow_case_role_user_map crum, - persons p - where b.project_id = :package_id - and aa.workflow_id = :workflow_id - and aa.action_id = :action_id - and aa.object_id = b.bug_id - and crum.case_id (+) = aa.case_id - and crum.role_id (+) = aa.role_id - and p.person_id (+) = crum.user_id - group by p.first_names, p.last_name, crum.user_id - - - content_keyword.is_assigned(b.bug_id, :f_category_$parent_id, 'none') = 't' @@ -164,13 +109,60 @@ allows user to break this assumption you'll also need to deal with this. --> + + + select b.bug_id, + b.project_id, + b.bug_number, + b.summary, + lower(b.summary) as lower_summary, + b.comment_content, + b.comment_format, + b.component_id, + b.creation_date, + to_char(b.creation_date, 'fmMM/DDfm/YYYY') as creation_date_pretty, + b.creation_user as submitter_user_id, + submitter.first_names as submitter_first_names, + submitter.last_name as submitter_last_name, + submitter.email as submitter_email, + lower(submitter.first_names) as lower_submitter_first_names, + lower(submitter.last_name) as lower_submitter_last_name, + lower(submitter.email) as lower_submitter_email, + st.pretty_name as pretty_state, + st.short_name as state_short_name, + st.state_id, + st.hide_fields, + b.resolution, + b.found_in_version, + b.fix_for_version, + b.fixed_in_version, + cas.case_id + $more_columns + from $from_bug_clause, + acs_users_all submitter, + workflow_cases cas, + workflow_case_fsm cfsm, + workflow_fsm_states st + where submitter.user_id = b.creation_user + and cas.workflow_id = :workflow_id + and cas.object_id = b.bug_id + and cfsm.case_id = cas.case_id + and cfsm.parent_enabled_action_id is null + and st.state_id = cfsm.current_state + $orderby_category_where_clause + [template::list::filter_where_clauses -and -name "bugs"] + [template::list::orderby_clause -orderby -name "bugs"] + + + select q.*, km.keyword_id, assign_info.* from ( select b.bug_id, + b.project_id, b.bug_number, b.summary, lower(b.summary) as lower_summary, @@ -208,8 +200,7 @@ and cfsm.parent_enabled_action_id is null and st.state_id = cfsm.current_state $orderby_category_where_clause - [template::list::filter_where_clauses -and -name "bugs"] - [template::list::orderby_clause -orderby -name "bugs"] + [template::list::page_where_clause -and -name bugs -key bug_id] ) q, cr_item_keyword_map km, (select cru.user_id as assigned_user_id, @@ -229,6 +220,7 @@ ) assign_info where q.bug_id = km.item_id (+) and q.case_id = assign_info.case_id (+) +[template::list::orderby_clause -orderby -name "bugs"] @@ -237,12 +229,12 @@ exists (select 1 from workflow_case_assigned_actions aa, - workflow_case_role_user_map crum + workflow_case_role_party_map wcrpm where aa.case_id = cas.case_id and aa.action_id = $action_id - and crum.case_id (+) = aa.case_id - and crum.role_id (+) = aa.role_id - and crum.user_id is null + and wcrpm.case_id (+) = aa.case_id + and wcrpm.role_id (+) = aa.role_id + and wcrpm.party_id is null ) Index: openacs-4/packages/bug-tracker/tcl/bug-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-procs-postgresql.xql,v diff -u -r1.9 -r1.10 --- openacs-4/packages/bug-tracker/tcl/bug-procs-postgresql.xql 13 Jan 2005 13:56:15 -0000 1.9 +++ openacs-4/packages/bug-tracker/tcl/bug-procs-postgresql.xql 24 Feb 2005 13:33:03 -0000 1.10 @@ -68,60 +68,6 @@ - - - - - - - select kw.heading, - km.keyword_id, - count(b.bug_id) - from cr_keywords kw join - cr_item_keyword_map km using (keyword_id) left outer join - bt_bugs b on (b.bug_id = km.item_id) - where kw.parent_id = :parent_id - and b.project_id = :package_id - group by kw.heading, km.keyword_id - order by kw.heading - - - - - - - - - select p.first_names || ' ' || p.last_name as name, - crum.user_id, - count(b.bug_id) as num_bugs - from bt_bugs b, - workflow_case_assigned_actions aa left outer join - workflow_case_role_user_map crum on (crum.case_id = aa.case_id and crum.role_id = aa.role_id) left outer join - persons p on (p.person_id = crum.user_id) - where b.project_id = :package_id - and aa.workflow_id = :workflow_id - and aa.action_id = :action_id - and aa.object_id = b.bug_id - group by p.first_names, p.last_name, crum.user_id - - - - - - - select v.version_name, - b.fix_for_version, - count(b.bug_id) as num_bugs - from bt_bugs b left outer join - bt_versions v on (v.version_id = b.fix_for_version) - where b.project_id = :package_id - group by b.fix_for_version, v.anticipated_freeze_date, v.version_name - order by v.anticipated_freeze_date, v.version_name - - - - content_keyword__is_assigned(b.bug_id, :f_category_$parent_id, 'none') = 't' @@ -151,13 +97,60 @@ allows user to break this assumption you'll also need to deal with this. --> + + + select b.bug_id, + b.project_id, + b.bug_number, + b.summary, + lower(b.summary) as lower_summary, + b.comment_content, + b.comment_format, + b.component_id, + b.creation_date, + to_char(b.creation_date, 'fmMM/DDfm/YYYY') as creation_date_pretty, + b.creation_user as submitter_user_id, + submitter.first_names as submitter_first_names, + submitter.last_name as submitter_last_name, + submitter.email as submitter_email, + lower(submitter.first_names) as lower_submitter_first_names, + lower(submitter.last_name) as lower_submitter_last_name, + lower(submitter.email) as lower_submitter_email, + st.pretty_name as pretty_state, + st.short_name as state_short_name, + st.state_id, + st.hide_fields, + b.resolution, + b.found_in_version, + b.fix_for_version, + b.fixed_in_version, + cas.case_id + $more_columns + from $from_bug_clause, + acs_users_all submitter, + workflow_cases cas, + workflow_case_fsm cfsm, + workflow_fsm_states st + where submitter.user_id = b.creation_user + and cas.workflow_id = :workflow_id + and cas.object_id = b.bug_id + and cfsm.case_id = cas.case_id + and cfsm.parent_enabled_action_id is null + and st.state_id = cfsm.current_state + $orderby_category_where_clause + [template::list::filter_where_clauses -and -name "bugs"] + [template::list::orderby_clause -orderby -name "bugs"] + + + select q.*, km.keyword_id, assign_info.* from ( select b.bug_id, + b.project_id, b.bug_number, b.summary, lower(b.summary) as lower_summary, @@ -195,7 +188,7 @@ and cfsm.parent_enabled_action_id is null and st.state_id = cfsm.current_state $orderby_category_where_clause - [template::list::filter_where_clauses -and -name "bugs"] + [template::list::page_where_clause -and -name bugs -key bug_id] ) q left outer join cr_item_keyword_map km @@ -225,11 +218,12 @@ exists (select 1 - from workflow_case_assigned_actions aa left outer join - workflow_case_role_user_map crum on (crum.case_id = aa.case_id and crum.role_id = aa.role_id) - where aa.case_id = cas.case_id - and aa.action_id = $action_id - and crum.user_id is null + from workflow_case_assigned_actions aa left outer join + workflow_case_role_party_map wcrpm + on (wcrpm.case_id = aa.case_id and wcrpm.role_id = aa.role_id) + where aa.case_id = cas.case_id + and aa.action_id = $action_id + and wcrpm.party_id is null ) Index: openacs-4/packages/bug-tracker/tcl/bug-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-procs.tcl,v diff -u -r1.20 -r1.21 --- openacs-4/packages/bug-tracker/tcl/bug-procs.tcl 26 Jun 2004 12:47:12 -0000 1.20 +++ openacs-4/packages/bug-tracker/tcl/bug-procs.tcl 24 Feb 2005 13:33:03 -0000 1.21 @@ -18,6 +18,17 @@ namespace eval bug_tracker::bug::get_project_maintainer {} namespace eval bug_tracker::bug::notification_info {} +ad_proc -public bug_tracker::bug::cache_flush { + -bug_id:required +} { + Flush all list builder instances and other appropriate things for the given bug-tracker + package instance. +} { + set project_id [db_string get_project_id {}] + cache flush "bugs,project_id=$project_id,*" + util_memoize_flush_regexp -log "^bug_tracker::.*_get_filter_data_not_cached -package_id $project_id" +} + ad_proc -public bug_tracker::bug::workflow_short_name {} { Get the short name of the workflow for bugs } { @@ -78,6 +89,8 @@ {-ip_address ""} {-item_subtype "bt_bug"} {-content_type "bt_bug_revision"} + {-fix_for_version ""} + {-assign_to ""} } { Inserts a new bug into the content repository. You probably don't want to run this yourself - to create a new bug, use bug_tracker::bug::new @@ -101,14 +114,17 @@ set extra_vars [ns_set create] oacs_util::vars_to_ns_set \ -ns_set $extra_vars \ - -var_list { bug_id package_id component_id found_in_version summary user_agent comment_content comment_format creation_date } + -var_list { bug_id package_id component_id found_in_version summary user_agent comment_content comment_format creation_date fix_for_version assign_to} + set bug_id [package_instantiate_object \ -creation_user $user_id \ -creation_ip $ip_address \ -extra_vars $extra_vars \ -package_name "bt_bug" \ "bt_bug"] + + cache_flush -bug_id $bug_id return $bug_id } @@ -127,6 +143,8 @@ {-item_subtype "bt_bug"} {-content_type "bt_bug_revision"} {-keyword_ids {}} + {-fix_for_version {}} + {-assign_to ""} } { Create a new bug, then send out notifications, starts workflow, etc. @@ -135,7 +153,8 @@ @see bug_tracker::bug::insert. @return bug_id The same bug_id passed in, just for convenience. } { - + + db_transaction { set bug_id [bug_tracker::bug::insert \ @@ -151,21 +170,31 @@ -ip_address $ip_address \ -item_subtype $item_subtype \ -content_type $content_type \ - ] + -fix_for_version $fix_for_version ] foreach keyword_id $keyword_ids { cr::keyword::item_assign -item_id $bug_id -keyword_id $keyword_id } + + if {![empty_string_p $assign_to]} { - workflow::case::new \ + array set assign_array [list resolver $assign_to] + + } else { + array set assign_array "" + } + + + set case_id [workflow::case::new \ -workflow_id [workflow::get_id -object_id $package_id -short_name [workflow_short_name]] \ -object_id $bug_id \ -comment $description \ -comment_mime_type $desc_format \ - -user_id $user_id - } + -user_id $user_id \ + -assignment [array get assign_array]] return $bug_id + } } @@ -200,6 +229,8 @@ } set revision_id [db_exec_plsql update_bug {}] + cache_flush -bug_id $bug_id + return $bug_id } @@ -278,6 +309,11 @@ @author Mark Aufflick } { + + # Probably not necessary if developers follow the instructions in the + # header comment ... + cache_flush -bug_id $bug_id + set case_id [db_string get_case_id {}] db_exec_plsql delete_bug_case {} set notifications [db_list get_notifications {}] @@ -710,7 +746,6 @@ submitter { label "[_ bug-tracker.Submitter]" display_template {@bugs.submitter_first_names@ @bugs.submitter_last_name@} - hide_p 1 } assigned_to { label "Assigned To" @@ -733,10 +768,13 @@ display_col component_name } - set state_values [db_list_of_lists select_states {}] + set state_values [bug_tracker::state_get_filter_data \ + -package_id $package_id \ + -workflow_id $workflow_id] set state_default_value [lindex [lindex $state_values 0] 1] set filters { + project_id {} f_state { label "[_ bug-tracker.State]" values $state_values @@ -770,7 +808,9 @@ foreach { parent_id parent_heading } [bug_tracker::category_types] { lappend elements category_$parent_id [list label [bug_tracker::category_heading -keyword_id $parent_id] display_col category_name_$parent_id] - set values [db_list_of_lists select_categories {}] + set values [bug_tracker::category_get_filter_data \ + -package_id $package_id \ + -parent_id $parent_id] set name category_$parent_id @@ -792,7 +832,7 @@ if { [bug_tracker::versions_p] } { lappend filters f_fix_for_version { label "[_ bug-tracker.Fix]" - values {[db_list_of_lists select_fix_for_versions {}]} + values {[bug_tracker::version_get_filter_data -package_id $package_id]} where_clause { b.fix_for_version = :f_fix_for_version } null_where_clause { b.fix_for_version is null } null_label "[_ bug-tracker.Undecided]" @@ -803,7 +843,10 @@ array unset action workflow::action::get -action_id $action_id -array action - set values [db_list_of_lists select_action_assignees {}] + set values [bug_tracker::assignee_get_filter_data \ + -package_id $package_id \ + -workflow_id $workflow_id \ + -action_id $action_id] lappend filters f_action_$action_id \ [list \ @@ -818,12 +861,16 @@ lappend filters f_component { label "[_ bug-tracker.Component]" - values {[db_list_of_lists select_components {}]} + values {[bug_tracker::component_get_filter_data -package_id $package_id]} where_clause {b.component_id = :f_component} } upvar \#[template::adp_level] format format + foreach var [bug_tracker::get_export_variables] { + upvar \#[template::adp_level] $var $var + } + template::list::create \ -ulevel [expr $ulevel + 1] \ -name bugs \ @@ -834,6 +881,9 @@ -elements $elements \ -filters $filters \ -orderby $orderbys \ + -page_size 25 \ + -page_flush_p 0 \ + -page_query {[bug_tracker::bug::get_query -query_name bugs_pagination]} \ -formats { table { label "[_ bug-tracker.Table]" @@ -861,10 +911,13 @@ -selected_format $format } +ad_proc bug_tracker::bug::get_query { + {-query_name bugs} +} { + @param name Either "bugs" or "bugs_pagination" + @return The query +} { - -ad_proc bug_tracker::bug::get_query {} { - upvar \#[template::adp_level] orderby orderby # Needed to handle ordering by categories @@ -889,7 +942,7 @@ set more_columns "" } - return [db_map bugs] + return [db_map $query_name] } Index: openacs-4/packages/bug-tracker/tcl/bug-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-procs.xql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/bug-tracker/tcl/bug-procs.xql 3 Oct 2003 16:54:37 -0000 1.4 +++ openacs-4/packages/bug-tracker/tcl/bug-procs.xql 24 Feb 2005 13:33:04 -0000 1.5 @@ -1,6 +1,12 @@ + + + select project_id from bt_bugs where bug_id = :bug_id + + + select case_id @@ -83,54 +89,17 @@ and p.project_id = b.project_id - - - - select st.pretty_name, - st.state_id, - count(b.bug_id) - from workflow_fsm_states st, - bt_bugs b, - workflow_cases cas, - workflow_case_fsm cfsm - where st.workflow_id = :workflow_id - and b.project_id = :package_id - and cas.workflow_id = :workflow_id - and cas.object_id = b.bug_id - and cfsm.case_id = cas.case_id - and st.state_id = cfsm.current_state - group by st.state_id, st.pretty_name, st.sort_order - order by st.sort_order - - - - - - - - select c.component_name, - c.component_id, - count(b.bug_id) as num_bugs - from bt_bugs b, - bt_components c - where b.project_id = :package_id - and c.component_id = b.component_id - group by c.component_name, c.component_id - order by c.component_name - - - exists (select 1 from workflow_case_assigned_actions aa, - workflow_case_role_user_map crum + workflow_case_role_party_map wcrpm where aa.case_id = cas.case_id and aa.action_id = $action_id - and crum.case_id = aa.case_id - and crum.role_id = aa.role_id - and crum.user_id = :f_action_$action_id + and wcrpm.case_id = aa.case_id + and wcrpm.role_id = aa.role_id + and wcrpm.party_id = :f_action_$action_id ) Index: openacs-4/packages/bug-tracker/tcl/bug-tracker-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-tracker-procs-oracle.xql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/bug-tracker/tcl/bug-tracker-procs-oracle.xql 30 Sep 2003 12:10:04 -0000 1.4 +++ openacs-4/packages/bug-tracker/tcl/bug-tracker-procs-oracle.xql 24 Feb 2005 13:33:04 -0000 1.5 @@ -133,4 +133,76 @@ + + + select kw.heading, + km.keyword_id, + count(b.bug_id) + from cr_keywords kw, + cr_item_keyword_map km, + bt_bugs b + where kw.parent_id = :parent_id + and km.keyword_id = kw.keyword_id + and b.bug_id (+) = km.item_id + and b.project_id = :package_id + group by kw.heading, km.keyword_id + order by kw.heading + + + + + + select v.version_name, + b.fix_for_version, + count(b.bug_id) as num_bugs + from bt_bugs b, + bt_versions v + where b.project_id = :package_id + and v.version_id (+) = b.fix_for_version + group by b.fix_for_version, v.anticipated_freeze_date, v.version_name + order by v.anticipated_freeze_date, v.version_name + + + + + + select p.first_names || ' ' || p.last_name as name, + crum.user_id, + count(b.bug_id) as num_bugs + from bt_bugs b, + workflow_case_assigned_actions aa, + workflow_case_role_user_map crum, + persons p + where aa.workflow_id = :workflow_id + and aa.action_id = :action_id + and aa.object_id = b.bug_id + and crum.case_id (+) = aa.case_id + and crum.role_id (+) = aa.role_id + and p.person_id (+) = crum.user_id + group by p.first_names, p.last_name, crum.user_id + + + + + + select acs_object.name(p.party_id) || ' (' || p.email || ')' as label, + party_id from parties p + where party_id in (select distinct(party_id) from workflow_case_role_party_map, + workflow_cases + where workflow_case_role_party_map.case_id = workflow_cases.case_id + and workflow_cases.workflow_id = :workflow_id) + + + + + + + select p.instance_name, o.creation_user, o.creation_ip + from apm_packages p, acs_objects o + where p.package_id = o.object_id + and p.package_id = :project_id + + + + Index: openacs-4/packages/bug-tracker/tcl/bug-tracker-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-tracker-procs-postgresql.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/bug-tracker/tcl/bug-tracker-procs-postgresql.xql 28 Sep 2003 01:28:18 -0000 1.3 +++ openacs-4/packages/bug-tracker/tcl/bug-tracker-procs-postgresql.xql 24 Feb 2005 13:33:04 -0000 1.4 @@ -142,5 +142,68 @@ + + + select kw.heading, + km.keyword_id, + count(b.bug_id) + from cr_keywords kw join + cr_item_keyword_map km using (keyword_id) left outer join + bt_bugs b on (b.bug_id = km.item_id) + where kw.parent_id = :parent_id + and b.project_id = :package_id + group by kw.heading, km.keyword_id + order by kw.heading + + + + + select v.version_name, + b.fix_for_version, + count(b.bug_id) as num_bugs + from bt_bugs b left outer join + bt_versions v on (v.version_id = b.fix_for_version) + where b.project_id = :package_id + group by b.fix_for_version, v.anticipated_freeze_date, v.version_name + order by v.anticipated_freeze_date, v.version_name + + + + + + select p.first_names || ' ' || p.last_name as name, + crum.user_id, + count(b.bug_id) as num_bugs + from bt_bugs b, + workflow_case_assigned_actions aa left outer join + workflow_case_role_user_map crum on (crum.case_id = aa.case_id and crum.role_id = aa.role_id) left outer join + persons p on (p.person_id = crum.user_id) + where aa.workflow_id = :workflow_id + and aa.action_id = :action_id + and aa.object_id = b.bug_id + group by p.first_names, p.last_name, crum.user_id + + + + + + + select acs_object__name(p.party_id) || ' (' || p.email || ')' as label, + party_id from parties p + where party_id in (select distinct(party_id) from workflow_case_role_party_map, + workflow_cases + where workflow_case_role_party_map.case_id = workflow_cases.case_id + and workflow_cases.workflow_id = :workflow_id) + + + + + + select p.instance_name, o.creation_user, o.creation_ip + from apm_packages p join acs_objects o on (p.package_id = o.object_id) w + here p.package_id = :project_id + + + Index: openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl,v diff -u -r1.30 -r1.31 --- openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl 13 Jan 2005 13:56:15 -0000 1.30 +++ openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl 24 Feb 2005 13:33:04 -0000 1.31 @@ -120,6 +120,7 @@ ad_page_contract { doc } [bug_tracker::get_page_variables { foo:integer { bar "" } }] } { set filter_vars { + page:optional f_state:optional f_fix_for_version:optional f_component:optional @@ -488,6 +489,31 @@ return $result } +ad_proc bug_tracker::category_get_filter_data_not_cached { + {-package_id:required} + {-parent_id:required} +} { + @param package_id The package (project) to select from + @param parent_id The category type's keyword_id + @return list-of-lists with category data for filter +} { + return [db_list_of_lists select {}] +} + +ad_proc bug_tracker::category_get_filter_data { + {-package_id:required} + {-parent_id:required} +} { + @param package_id The package (project) to select from + @param parent_id The category type's keyword_id + @return list-of-lists with category data for filter +} { + return [util_memoize [list bug_tracker::category_get_filter_data_not_cached \ + -package_id $package_id \ + -parent_id $parent_id]] +} + + ad_proc bug_tracker::category_get_options { {-package_id ""} {-parent_id:required} @@ -607,8 +633,6 @@ - - ad_proc -public bug_tracker::get_default_configurations {} { Get the package's default configurations for categories and parameters. } { @@ -682,6 +706,10 @@ } + + + + ad_proc -public bug_tracker::delete_all_project_keywords { {-package_id ""} } { @@ -786,6 +814,30 @@ } +ad_proc bug_tracker::assignee_get_options { + -workflow_id + -include_unknown:boolean + -include_undecided:boolean +} { + Returns an option list containing all users that have submitted or assigned to a bug. + Used for the add bug form. Added because the workflow api requires a case_id. + (an item to evaluate is refactoring workflow to provide an assignee widget without a case_id) +} { + + set assignee_list [db_list_of_lists assignees {}] + + if { $include_unknown_p } { + set assignee_list [concat { { "Unknown" "" } } $assignee_list] + } + + if { $include_undecided_p } { + set assignee_list [concat { { "Undecided" "" } } $assignee_list] + } + + return $assignee_list +} + + ad_proc bug_tracker::versions_p { {-package_id ""} } { @@ -812,6 +864,8 @@ return $versions_list } + + ad_proc bug_tracker::version_get_name { {-package_id ""} {-version_id:required} @@ -836,6 +890,24 @@ # ##### +ad_proc bug_tracker::component_get_filter_data_not_cached { + {-package_id:required} +} { + @param package_id The project we're interested in + @return list-of-lists with component data for filter +} { + return [db_list_of_lists select {}] +} + +ad_proc bug_tracker::component_get_filter_data { + {-package_id:required} +} { + @param package_id The project we're interested in + @return list-of-lists with component data for filter +} { + return [util_memoize [list bug_tracker::component_get_filter_data_not_cached \ + -package_id $package_id]] +} ad_proc bug_tracker::components_get_options { {-package_id ""} -include_unknown:boolean @@ -1227,3 +1299,75 @@ } } } + +ad_proc bug_tracker::version_get_filter_data_not_cached { + {-package_id:required} +} { + @param package_id The package (project) to select from + @return list-of-lists with fix-for-version data for filter +} { + return [db_list_of_lists select {}] +} + +ad_proc bug_tracker::version_get_filter_data { + {-package_id:required} +} { + @param package_id The package (project) to select from + @return list-of-lists with fix-for-version data for filter +} { + return [util_memoize [list bug_tracker::version_get_filter_data_not_cached \ + -package_id $package_id]] +} + +ad_proc bug_tracker::assignee_get_filter_data_not_cached { + {-package_id:required} + {-workflow_id:required} + {-action_id:required} +} { + @param package_id The package (project) to select from + @param workflow_id The workflow we're interested in + @param action_id The action we're interested in + @return list-of-lists with assignee data for filter +} { + return [db_list_of_lists select {}] +} + +ad_proc bug_tracker::assignee_get_filter_data { + {-package_id:required} + {-workflow_id:required} + {-action_id:required} +} { + @param package_id The package (project) to select from + @param workflow_id The workflow we're interested in + @param action_id The action we're interested in + @return list-of-lists with assignee data for filter +} { + return [util_memoize [list bug_tracker::assignee_get_filter_data_not_cached \ + -package_id $package_id \ + -workflow_id $workflow_id \ + -action_id $action_id]] +} + +ad_proc bug_tracker::state_get_filter_data_not_cached { + {-package_id:required} + {-workflow_id:required} +} { + @param package_id The package (project) to select from + @param workflow_id The workflow we're interested in + @return list-of-lists with state data for filter +} { + return [db_list_of_lists select {}] +} + +ad_proc bug_tracker::state_get_filter_data { + {-package_id:required} + {-workflow_id:required} +} { + @param package_id The package (project) to select from + @param workflow_id The workflow we're interested in + @return list-of-lists with state data for filter +} { + return [util_memoize [list bug_tracker::state_get_filter_data_not_cached \ + -package_id $package_id \ + -workflow_id $workflow_id]] +} Index: openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.xql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.xql 13 Jan 2005 13:56:16 -0000 1.4 +++ openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.xql 24 Feb 2005 13:33:04 -0000 1.5 @@ -44,6 +44,9 @@ + + + @@ -178,5 +181,39 @@ + + + select st.pretty_name, + st.state_id, + count(b.bug_id) + from workflow_fsm_states st, + bt_bugs b, + workflow_cases cas, + workflow_case_fsm cfsm + where st.workflow_id = :workflow_id + and cas.workflow_id = :workflow_id + and cas.object_id = b.bug_id + and cfsm.case_id = cas.case_id + and st.state_id = cfsm.current_state + group by st.state_id, st.pretty_name, st.sort_order + order by st.sort_order + + + + + + select c.component_name, + c.component_id, + count(b.bug_id) as num_bugs + from bt_bugs b, + bt_components c + where b.project_id = :package_id + and c.component_id = b.component_id + group by c.component_name, c.component_id + order by c.component_name + + + + Index: openacs-4/packages/bug-tracker/www/bug-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/bug-add.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/bug-tracker/www/bug-add.tcl 29 Mar 2004 15:07:34 -0000 1.12 +++ openacs-4/packages/bug-tracker/www/bug-add.tcl 24 Feb 2005 13:33:04 -0000 1.13 @@ -21,9 +21,12 @@ set project_name [bug_tracker::conn project_name] set package_id [ad_conn package_id] set package_key [ad_conn package_key] + set Bug_name [bug_tracker::conn Bug] set page_title [_ bug-tracker.New_1] +set workflow_id [bug_tracker::bug::get_instance_workflow_id] + set context [list $page_title] set user_id [ad_conn user_id] @@ -49,7 +52,17 @@ {options {[bug_tracker::version_get_options -include_unknown]}} {value {[bug_tracker::conn user_version_id]}} } + {fix_for_version:text(select),optional + {label "Fix For Version"} + {options {[bug_tracker::version_get_options -include_unknown]}} + {value {[bug_tracker::conn user_version_id]}} + } + {assign_to:text(select),optional + {label "Assign to"} + {options {[bug_tracker::assignee_get_options -workflow_id $workflow_id -include_unknown]}} + } + {return_url:text(hidden) {value $return_url}} } foreach {category_id category_name} [bug_tracker::category_types] { @@ -62,6 +75,7 @@ ] } + ad_form -extend -name bug -form { {description:richtext(richtext),optional {label "[_ bug-tracker.Description]"} @@ -86,8 +100,11 @@ -summary $summary \ -description [template::util::richtext::get_property contents $description] \ -desc_format [template::util::richtext::get_property format $description] \ - -keyword_ids $keyword_ids - + -keyword_ids $keyword_ids \ + -fix_for_version $fix_for_version \ + -assign_to $assign_to + + } -after_submit { bug_tracker::bugs_exist_p_set_true Index: openacs-4/packages/bug-tracker/www/bug.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/bug.adp,v diff -u -r1.15 -r1.16 --- openacs-4/packages/bug-tracker/www/bug.adp 29 Mar 2004 15:07:34 -0000 1.15 +++ openacs-4/packages/bug-tracker/www/bug.adp 24 Feb 2005 13:33:04 -0000 1.16 @@ -5,15 +5,6 @@ @notification_link;noquote@ - -
- - @navlinks.alt@ - @navlinks.label@ - -
-
-

Index: openacs-4/packages/bug-tracker/www/bug.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/bug.tcl,v diff -u -r1.35 -r1.36 --- openacs-4/packages/bug-tracker/www/bug.tcl 26 Jul 2004 13:10:25 -0000 1.35 +++ openacs-4/packages/bug-tracker/www/bug.tcl 24 Feb 2005 13:33:04 -0000 1.36 @@ -16,6 +16,8 @@ # ##### +ns_log Notice "********************************************************" + set return_url [export_vars -base [ad_conn url] [bug_tracker::get_export_variables { bug_number }]] set project_name [bug_tracker::conn project_name] @@ -25,6 +27,7 @@ set user_id [ad_conn user_id] permission::require_permission -object_id $package_id -privilege read + set bug_name [bug_tracker::conn Bug] set page_title [_ bug-tracker.Bug_Title] @@ -64,22 +67,33 @@ set enabled_action_id [form get_action bug] + # Registration required for all actions set action_id "" if { ![empty_string_p $enabled_action_id] } { + ns_log Notice "enabled_action if statement" ad_maybe_redirect_for_registration workflow::case::enabled_action_get -enabled_action_id $enabled_action_id -array enabled_action set action_id $enabled_action(action_id) } + # Check permissions if { ![workflow::case::action::available_p -enabled_action_id $enabled_action_id] } { bug_tracker::security_violation -user_id $user_id -bug_id $bug(bug_id) -action_id $action_id } + +ns_log Notice "actions: enabled_action_id: -${enabled_action_id}-" + + # Buttons set actions [list] if { [empty_string_p $enabled_action_id] } { + + ns_log Notice "actions: case_id: $case_id" + ns_log Notice "actions: case_id: $case_id get_enabled_actions: [workflow::case::get_available_enabled_action_ids -case_id $case_id]" + foreach available_enabled_action_id [workflow::case::get_available_enabled_action_ids -case_id $case_id] { # TODO: avoid the enabled_action_get query by caching it, or caching only the enabled_action_id -> action_id lookup? workflow::case::enabled_action_get -enabled_action_id $available_enabled_action_id -array enabled_action @@ -88,6 +102,7 @@ } } +ns_log Notice "actions: $actions" ##### # Index: openacs-4/packages/bug-tracker/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/index.tcl,v diff -u -r1.18 -r1.19 --- openacs-4/packages/bug-tracker/www/index.tcl 13 Oct 2003 19:36:16 -0000 1.18 +++ openacs-4/packages/bug-tracker/www/index.tcl 24 Feb 2005 13:33:04 -0000 1.19 @@ -21,8 +21,8 @@ return } +set project_id [ad_conn package_id] - ##### # # Get bug list Index: openacs-4/packages/bug-tracker/www/patch-list-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/patch-list-postgresql.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/bug-tracker/www/patch-list-postgresql.xql 26 Sep 2003 08:10:36 -0000 1.2 +++ openacs-4/packages/bug-tracker/www/patch-list-postgresql.xql 24 Feb 2005 13:33:04 -0000 1.3 @@ -5,18 +5,13 @@ - select distinct upper(substring(p.status from 1 for 1)) || substring(p.status from 2), - p.status, - (select count(*) - from bt_patches p2 - where p2.project_id = p.project_id - and p2.status = p.status - ) as count, - (case p.status when 'open' then 1 when 'accepted' then 2 when 'refused' then 3 else 4 end) as order_num - from bt_patches p - where p.project_id = :package_id - order by order_num - + select upper(substring(s.status from 1 for 1)) || substring(s.status from 2), status, count, + (case s.status when 'open' then 1 when 'accepted' then 2 when 'refused' then 3 else 4 end) as order_num + from (select status, count(*) as count + from bt_patches p + where p.project_id = :package_id + group by p.status) s + order by order_num @@ -25,14 +20,13 @@ select v.version_name, v.version_id, - (select count(*) + s.count + from bt_versions v, + (select p.apply_to_version, count(*) as count from bt_patches p where p.project_id = :package_id - and p.apply_to_version = v.version_id - ) as count - from bt_versions v - where exists (select 1 from bt_patches p2 - where p2.apply_to_version = v.version_id) + group by p.apply_to_version) s + where s.apply_to_version = v.version_id order by v.version_name Index: openacs-4/packages/bug-tracker/www/patch-list.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/patch-list.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/bug-tracker/www/patch-list.xql 26 Sep 2003 08:10:36 -0000 1.2 +++ openacs-4/packages/bug-tracker/www/patch-list.xql 24 Feb 2005 13:33:04 -0000 1.3 @@ -23,16 +23,16 @@ select c.component_name, - c.component_id, - (select count(*) + c.component_id, + s.count + from bt_components c, + (select p.component_id, count(*) as count from bt_patches p - where p.project_id = :package_id - and p.component_id = c.component_id - ) as count - from bt_components c - where exists (select 1 from bt_patches p2 - where p2.component_id = c.component_id) - order by c.component_name + where p.project_id = :package_id + group by p.component_id + ) s + where s.component_id = c.component_id + order by lower(c.component_name) Index: openacs-4/packages/bug-tracker/www/patch-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/Attic/patch-oracle.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/bug-tracker/www/patch-oracle.xql 5 Mar 2003 17:41:04 -0000 1.1 +++ openacs-4/packages/bug-tracker/www/patch-oracle.xql 24 Feb 2005 13:33:04 -0000 1.2 @@ -25,7 +25,7 @@ to_char(sysdate, 'fmMM/DDfm/YYYY') as now_pretty from bt_patches, acs_objects, - cc_users submitter, + acs_users_all submitter, bt_components where bt_patches.patch_number = :patch_number and bt_patches.project_id = :package_id Index: openacs-4/packages/bug-tracker/www/patch-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/Attic/patch-postgresql.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/bug-tracker/www/patch-postgresql.xql 5 Mar 2003 17:41:04 -0000 1.1 +++ openacs-4/packages/bug-tracker/www/patch-postgresql.xql 24 Feb 2005 13:33:04 -0000 1.2 @@ -25,7 +25,7 @@ to_char(now(), 'fmMM/DDfm/YYYY') as now_pretty from bt_patches, acs_objects, - cc_users submitter, + acs_users_all submitter, bt_components where bt_patches.patch_number = :patch_number and bt_patches.project_id = :package_id Index: openacs-4/packages/bulk-mail/bulk-mail.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bulk-mail/bulk-mail.info,v diff -u -r1.10 -r1.11 --- openacs-4/packages/bulk-mail/bulk-mail.info 13 Jan 2005 13:56:17 -0000 1.10 +++ openacs-4/packages/bulk-mail/bulk-mail.info 24 Feb 2005 13:33:05 -0000 1.11 @@ -7,12 +7,12 @@ f f - + OpenACS 2003-11-10 OpenACS Mailing form letters to groups of users. - + Provides an API for sending messages to a collection of users (which can be chosen via arbitrary sql). Mails can be personalized and can be scheduled for a later date. Index: openacs-4/packages/calendar/calendar.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/calendar.info,v diff -u -r1.30 -r1.31 --- openacs-4/packages/calendar/calendar.info 13 Jan 2005 13:56:22 -0000 1.30 +++ openacs-4/packages/calendar/calendar.info 24 Feb 2005 13:33:05 -0000 1.31 @@ -7,14 +7,14 @@ f f - + Dirk Gomez Personal and shared event calendars. 2004-03-04 OpenACS Manage group and shared calendars with download. - + Index: openacs-4/packages/calendar-portlet/calendar-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar-portlet/calendar-portlet.info,v diff -u -r1.19 -r1.20 --- openacs-4/packages/calendar-portlet/calendar-portlet.info 13 Jan 2005 13:56:31 -0000 1.19 +++ openacs-4/packages/calendar-portlet/calendar-portlet.info 24 Feb 2005 13:33:05 -0000 1.20 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/categories/sql/oracle/category-synonym-package.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/oracle/category-synonym-package.sql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/categories/sql/oracle/category-synonym-package.sql 6 Dec 2004 12:05:28 -0000 1.3 +++ openacs-4/packages/categories/sql/oracle/category-synonym-package.sql 24 Feb 2005 13:33:05 -0000 1.4 @@ -268,7 +268,7 @@ -- triggers for category synonyms ----- -create trigger ins_synonym_on_ins_transl_trg +create or replace trigger ins_synonym_on_ins_transl_trg after insert on category_translations for each row declare v_synonym_id integer; @@ -284,7 +284,7 @@ / show errors -create trigger upd_synonym_on_upd_transl_trg +create or replace trigger upd_synonym_on_upd_transl_trg before update on category_translations for each row declare v_synonym_id integer; Index: openacs-4/packages/categories/sql/postgresql/category-package.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/postgresql/category-package.sql,v diff -u -r1.5 -r1.6 --- openacs-4/packages/categories/sql/postgresql/category-package.sql 6 Feb 2005 18:42:19 -0000 1.5 +++ openacs-4/packages/categories/sql/postgresql/category-package.sql 24 Feb 2005 13:33:05 -0000 1.6 @@ -221,19 +221,19 @@ p_modifying_ip alias for $7; begin -- change category name - update category_translations - set name = p_name, - description = p_description - where category_id = p_category_id - and locale = p_locale; + update category_translations + set name = p_name, + description = p_description + where category_id = p_category_id + and locale = p_locale; - update acs_objects - set last_modified = p_modifying_date, + update acs_objects + set last_modified = p_modifying_date, modifying_user = p_modifying_user, modifying_ip = p_modifying_ip - where object_id = p_category_id; + where object_id = p_category_id; - return 0; + return 0; end; ' language 'plpgsql'; Index: openacs-4/packages/categories/sql/postgresql/category-synonym-package.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/postgresql/category-synonym-package.sql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/categories/sql/postgresql/category-synonym-package.sql 11 Feb 2004 13:25:27 -0000 1.1 +++ openacs-4/packages/categories/sql/postgresql/category-synonym-package.sql 24 Feb 2005 13:33:05 -0000 1.2 @@ -228,37 +228,37 @@ returns trigger as ' -- trigger function for inserting category translation declare - v_synonym_id integer; + v_synonym_id integer; begin -- create synonym - v_synonym_id := category_synonym__new (NEW.name, NEW.locale, NEW.category_id, null); + v_synonym_id := category_synonym__new (NEW.name, NEW.locale, NEW.category_id, null); -- mark synonym as not editable for users - update category_synonyms - set synonym_p = ''f'' - where synonym_id = v_synonym_id; + update category_synonyms + set synonym_p = ''f'' + where synonym_id = v_synonym_id; - return null; + return new; end;' language 'plpgsql'; create or replace function category_synonym__edit_cat_trans_trg () returns trigger as ' -- trigger function for updating a category translation declare - v_synonym_id integer; + v_synonym_id integer; begin -- get synonym_id of updated category translation - select synonym_id into v_synonym_id - from category_synonyms - where category_id = OLD.category_id - and name = OLD.name - and locale = OLD.locale - and synonym_p = ''f''; + select synonym_id into v_synonym_id + from category_synonyms + where category_id = OLD.category_id + and name = OLD.name + and locale = OLD.locale + and synonym_p = ''f''; -- update synonym - PERFORM category_synonym__edit (v_synonym_id, NEW.name, NEW.locale); + PERFORM category_synonym__edit (v_synonym_id, NEW.name, NEW.locale); - return null; + return new; end;' language 'plpgsql'; Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/categories/sql/postgresql/upgrade/upgrade-1.0d6-1.0d7.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/categories/www/cadmin/category-parent-change.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/www/cadmin/category-parent-change.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/categories/www/cadmin/category-parent-change.tcl 11 Feb 2004 10:01:11 -0000 1.1 +++ openacs-4/packages/categories/www/cadmin/category-parent-change.tcl 24 Feb 2005 13:33:05 -0000 1.2 @@ -32,10 +32,10 @@ [export_vars -no_empty -base category-parent-change-2 {tree_id category_id locale object_id}] foreach category [category_tree::get_tree -all $tree_id $locale] { - util_unlist $category category_id category_name deprecated_p level + util_unlist $category parent_id category_name deprecated_p level - if { [lsearch $subtree_categories_list $category_id]==-1 } { - set parent_url [export_vars -no_empty -base category-parent-change-2 { {parent_id $category_id} tree_id category_id locale object_id }] + if { [lsearch $subtree_categories_list $parent_id]==-1 } { + set parent_url [export_vars -no_empty -base category-parent-change-2 { parent_id tree_id category_id locale object_id }] } else { set parent_url "" } Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/contacts/catalog/contacts.de_DE.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/curriculum/curriculum.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum/curriculum.info,v diff -u -r1.13 -r1.14 --- openacs-4/packages/curriculum/curriculum.info 21 Jan 2005 14:50:02 -0000 1.13 +++ openacs-4/packages/curriculum/curriculum.info 24 Feb 2005 13:33:06 -0000 1.14 @@ -7,17 +7,17 @@ f f - + Ola Hansson Create and track user page sequence "curriculum" Polyxena Provides a UI for creating a sequence of links as a "curriculum" which can be presented as a linkbar in the page footer (or elsewhere) and is tracked per user. 0 - + + - Index: openacs-4/packages/curriculum/sql/oracle/upgrade/upgrade-0.5d1-1.0.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum/sql/oracle/upgrade/upgrade-0.5d1-1.0.sql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/curriculum/sql/oracle/upgrade/upgrade-0.5d1-1.0.sql 22 Feb 2004 22:01:55 -0000 1.1 +++ openacs-4/packages/curriculum/sql/oracle/upgrade/upgrade-0.5d1-1.0.sql 24 Feb 2005 13:33:06 -0000 1.2 @@ -1,3 +1,3 @@ -ALTER TABLE cu_curriculums DROP COLUMN ( owner_id ); +-- ALTER TABLE cu_curriculums DROP COLUMN ( owner_id ); -@@ curriculum-curriculum-package-create.sql +@@ ../curriculum-curriculum-package-create.sql Index: openacs-4/packages/curriculum-portlet/curriculum-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-portlet/curriculum-portlet.info,v diff -u -r1.4 -r1.5 --- openacs-4/packages/curriculum-portlet/curriculum-portlet.info 13 Jan 2005 13:57:17 -0000 1.4 +++ openacs-4/packages/curriculum-portlet/curriculum-portlet.info 24 Feb 2005 13:33:06 -0000 1.5 @@ -7,12 +7,12 @@ f t - + Ola Hansson 2004-03-10 Polyxena - + Index: openacs-4/packages/dotlrn/dotlrn.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/dotlrn.info,v diff -u -r1.122 -r1.123 --- openacs-4/packages/dotlrn/dotlrn.info 13 Jan 2005 13:57:17 -0000 1.122 +++ openacs-4/packages/dotlrn/dotlrn.info 24 Feb 2005 13:33:06 -0000 1.123 @@ -8,14 +8,14 @@ f dotlrn - + OpenACS A Course Management System 2004-03-10 OpenACS Course Management - + Index: openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml,v diff -u -r1.39 -r1.40 --- openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml 13 Jan 2005 13:57:18 -0000 1.39 +++ openacs-4/packages/dotlrn/catalog/dotlrn.en_US.ISO-8859-1.xml 24 Feb 2005 13:33:06 -0000 1.40 @@ -1,5 +1,5 @@ - + A copy of Access @@ -497,6 +497,7 @@ Reject reject Reject all + Remove all Request Membership <img src=/resources/dotlrn/request.gif alt="%label%" border="0" title="Request Membership"> Required field @@ -603,4 +604,9 @@ No %Community_Types% Parent Type This community type already exists + You have been added to the "%community_name%" community at %package% + To visit the community's home page, point your browser at %package%, log in, and click on the %community_name% link in the "Groups" portlet. + <p>Email sent to %email%. + <p>Datafile must include at least the email, first_names, last_name fields.<p> + <p>Database error while trying to create the last user in the list above!<br> The transaction has been aborted, no users have been entered, and no e-mail notifications have been sent.<p> Index: openacs-4/packages/dotlrn/catalog/dotlrn.it_IT.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/catalog/dotlrn.it_IT.ISO-8859-1.xml,v diff -u -r1.14 -r1.15 --- openacs-4/packages/dotlrn/catalog/dotlrn.it_IT.ISO-8859-1.xml 13 Jan 2005 13:57:18 -0000 1.14 +++ openacs-4/packages/dotlrn/catalog/dotlrn.it_IT.ISO-8859-1.xml 24 Feb 2005 13:33:07 -0000 1.15 @@ -1,5 +1,5 @@ - + Una copia di Accesso @@ -160,7 +160,7 @@ Email Email membri Messaggio - Meial inviati + Mail inviati Fine Data Fine data: Errore inviando l'email @@ -224,7 +224,7 @@ Aggiungi i membri della %community_name% a un'altra comunit� Aggiungi i membri a un'altra comunit� Aggiungi i membri a un altro gruppo - Aggiungi questi utenti a un gruppo + Aggiungere questo/i utente/i a un gruppo Azioni Amministrative Si � verificato un errore durante l'aggiunta di un utente a una comunit�. Questo inconveniente � stato registrato. Si � verificato un errore durante la rimozione di un utente a una comunit�. Questo inconveniente � stato registrato. @@ -416,6 +416,8 @@ Grazie. La tua richiesta di registrazione � stata inviata all'amministratore del sito. Respingi respingi + Respingi tutti + Rimuovi tutti Richiedi l'associazione <img src=/resources/dotlrn/request.gif alt="%label%" border="0" title="Richiedi l'associazione"> richiesto @@ -479,7 +481,7 @@ Login: %user_email% Password: %user_password% Sei stato aggiunto come utente a %system_name% all'indirizzo %system_url% Pagina di amministrazione utente - L'utente %user_email% esiste gi�... archiviazione user_id + L'utente %user_email% esiste gi�... Utente %user_email% creato.... %first_names% %last_name% � membro di %system_name% dal %pretty_creation_date% User ID: @@ -509,4 +511,9 @@ La tua icona � troppo grande. L'amministratore del sistema ha scelto di limitare gli allegati a una dimensione massima di %max_attachments_bytes% bytes.\n Stai modificando Hai scelto di aggiungere + Sei stato aggiunto alla communit� "%community_name%" in %package% + Per visitare la home page della communit�, vai su %package% e dopo esserti autenticato clicca sul link "%community_name%" nel portlet "Gruppi". + <p>Email spedita a %email%. + <p>Il file deve includere al meno i campi: email, first_names, last_name.<p> + <p>Errore nell'aggiunta dell'utente al database!<br> La transazione � stata abortita, nessun utente � stato aggiunto.<p> Index: openacs-4/packages/dotlrn/lib/toolbar.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/lib/toolbar.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/dotlrn/lib/toolbar.adp 13 Jan 2005 13:57:20 -0000 1.2 +++ openacs-4/packages/dotlrn/lib/toolbar.adp 24 Feb 2005 13:33:07 -0000 1.3 @@ -12,18 +12,21 @@ Terms | - Departments + #dotlrn.departments_pretty_plural# | - Subjects + #dotlrn.classes_pretty_plural# | - Classes + | - Users + #dotlrn.clubs_pretty_plural# | + #dotlrn.Users# + | + Admin | Index: openacs-4/packages/dotlrn/www/community-edit-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/community-edit-2.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/dotlrn/www/community-edit-2.tcl 13 Jan 2005 13:57:21 -0000 1.14 +++ openacs-4/packages/dotlrn/www/community-edit-2.tcl 24 Feb 2005 13:33:07 -0000 1.15 @@ -118,8 +118,7 @@ # the community anyway, let everyone have access to see it. That way # it won't cause any trouble later on when we try to implement # try-before-you-buy for non-members. - permission::grant -party_id [acs_magic_object registered_users] -obje -ct_id $revision_id -privilege read + permission::grant -party_id [acs_magic_object registered_users] -object_id $revision_id -privilege read ns_log notice "aks1: new revision_id $revision_id" Fisheye: Tag 1.4 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn/www/admin/clubs-oracle.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn/www/admin/clubs-postgresql.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.6 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn/www/admin/clubs.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn/www/admin/term-oracle.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn/www/admin/term-postgresql.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/dotlrn/www/admin/users-add-to-community.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/users-add-to-community.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/dotlrn/www/admin/users-add-to-community.tcl 13 Jan 2005 13:57:22 -0000 1.12 +++ openacs-4/packages/dotlrn/www/admin/users-add-to-community.tcl 24 Feb 2005 13:33:07 -0000 1.13 @@ -90,10 +90,9 @@ } } - set subject "You have been added to the \"$community_name\" community at [ad_parameter -package_id [ad_acs_kernel_id] SystemURL]" - set message "To visit the community's home page, point your browser at [ad_parameter -package_id [ad_acs_kernel_id] SystemURL], -log in, and click on the \"$community_name\" link in the \"Groups\" portlet. -" + set package [ad_parameter -package_id [ad_acs_kernel_id] SystemURL] + set subject [_ dotlrn.added_community_subject] + set message [_ dotlrn.added_community_message] spam::send \ -recepients $users \ Index: openacs-4/packages/dotlrn/www/admin/users-bulk-upload-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/users-bulk-upload-2.tcl,v diff -u -r1.17 -r1.18 --- openacs-4/packages/dotlrn/www/admin/users-bulk-upload-2.tcl 18 Feb 2005 16:48:19 -0000 1.17 +++ openacs-4/packages/dotlrn/www/admin/users-bulk-upload-2.tcl 24 Feb 2005 13:33:07 -0000 1.18 @@ -22,14 +22,14 @@ @version $Id$ } -#Pages in this directory are only runnable by dotlrn-wide admins. +# Pages in this directory are only runnable by dotlrn-wide admins. dotlrn::require_admin # get location of the file set file_location [ns_queryget users_csv_file.tmpfile] # Prepare stuff -set headers {first_names last_name email} +set headers {first_names last_name email username} set admin_user_id [ad_verify_and_get_user_id] set admin_email [db_string select_admin_email { @@ -43,6 +43,8 @@ set list_of_user_ids [list] set list_of_addresses_and_passwords [list] +set fail_p 0 + # Do the stuff # We can't do this too generically, so we'll just do the CSV stuff right here db_transaction { @@ -51,11 +53,13 @@ # First make sure the required data is there if { ![info exists row(email)] || ![info exists row(first_names)] || ![info exists row(last_name)] || ![info exists row(username)] } { - doc_body_append "
Datafile must include at least the email, first_names, last_name, username fields
" + doc_body_append [_ dotlrn.datafile_must] db_abort_transaction return } + ns_log Debug "%%% $row(email)" + # We need to insert the ACS user if {![info exists row(password)]} { @@ -64,25 +68,26 @@ } else { set password $row(password) } - - + # Check if this user already exists set user_id [cc_lookup_email_user $row(email)] if {![empty_string_p $user_id]} { doc_body_append [_ dotlrn.user_email_already_exists [list user_email $row(email)]] lappend list_of_user_ids $user_id } else { + set user_id [db_nextval acs_object_id_seq] + ns_log Debug "%%% $user_id" + auth::create_user \ -user_id $user_id \ -username "$row(username)" \ -email $row(email) \ -first_names $row(first_names) \ -last_name $row(last_name) \ -password $password - lappend list_of_user_ids $user_id @@ -98,46 +103,46 @@ set row(guest) f } - if {![info exists row(id)]} { - set row(id) $row(email) + if {![info exists row(username)]} { + set row(username) $row(email) } if {![info exists row(notify)]} { set row(notify) f - } + } doc_body_append "Creating user $row(email)...." + # Now we make them a dotLRN user switch -exact $row(access_level) { limited { - dotlrn::user_add -user_id $user_id -id $row(id) -type $row(type) + dotlrn::user_add -user_id $user_id -id $row(username) -type $row(type) } full - default { - dotlrn::user_add -user_id $user_id -id $row(id) -type $row(type) -can_browse + dotlrn::user_add -user_id $user_id -id $row(username) -type $row(type) -can_browse } } # Set the privacy dotlrn_privacy::set_user_guest_p -user_id $user_id -value $row(guest) - + doc_body_append [_ dotlrn.user_email_created [list user_email $row(email)]] set msg_subst_list [list system_name [ad_system_name] \ - system_url [ad_parameter SystemUrl] \ + system_url [ad_parameter -package_id [ad_acs_kernel_id] SystemURL] \ user_email $row(email) \ user_password $password] set message [_ dotlrn.user_add_confirm_email_body $msg_subst_list] set subject [_ dotlrn.user_add_confirm_email_subject $msg_subst_list] # Send note to new user if { $row(notify) == "t" } { - # Send note to new user + # Send note to new user if [catch {ns_sendmail "$row(email)" "$admin_email" "$subject" "$message"} errmsg] { doc_body_append "[_ dotlrn.lt_emailing_this_user_fa]" set fail_p 1 } else { - doc_body_append "[_ dotlrn.email_sent]" lappend list_of_addresses_and_passwords $row(email) $password } } else { @@ -149,32 +154,11 @@ } } on_error { - doc_body_append "

The database choked while trying to create the last user in the list above!
The transaction has been aborted, no users have been entered, and no e-mail notifications have been sent.

" + ns_log Error "The database choked while trying to create the last user in the list above! The transaction has been aborted, no users have been entered, and no e-mail notifications have been sent." + doc_body_append [_ dotlrn.database_choked] ad_script_abort } -set fail_p 0 - -doc_body_append "

Sending email notifications to users...

" - -foreach {email password} $list_of_addresses_and_passwords { - if { ![string equal $password ""] } { - set message " -You have been added as a user to [ad_system_name] at [ad_parameter -package_id [ad_acs_kernel_id] SystemURL]. - -Login: $email -Password: $password -" - # Send note to new user - if [catch {ns_sendmail "$email" "$admin_email" "You have been added as a user to [ad_system_name] at [ad_parameter -package_id [ad_acs_kernel_id] SystemURL]" "$message"} errmsg] { - doc_body_append "emailing \"$email\" failed!
" - set fail_p 1 - } else { - doc_body_append "email sent to \"$email\"
" - } - } -} - if {$fail_p} { doc_body_append "

[_ dotlrn.lt_Some_of_the_emails_fa]

" } Index: openacs-4/packages/dotlrn/www/admin/users-bulk-upload.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/admin/users-bulk-upload.adp,v diff -u -r1.12 -r1.13 --- openacs-4/packages/dotlrn/www/admin/users-bulk-upload.adp 13 Jan 2005 13:57:22 -0000 1.12 +++ openacs-4/packages/dotlrn/www/admin/users-bulk-upload.adp 24 Feb 2005 13:33:07 -0000 1.13 @@ -42,7 +42,7 @@ #dotlrn.first_line_of_file_must_be#

- username,password,first_names,last_name,email,id,type,access_level,guest,notify + first_names,last_name,email,username,password,type,access_level,guest,notify

@@ -54,12 +54,11 @@ #dotlrn.Fields#
    -
  • username - #dotlrn.required# -
  • password - #dotlrn.optional_defaults_to# random value
  • first_names - #dotlrn.required#
  • last_name - #dotlrn.required#
  • email - #dotlrn.required# -
  • id - #dotlrn.optional_defaults_to# email #dotlrn.lt_a_secondary# +
  • username - #dotlrn.optional_defaults_to# email +
  • password - #dotlrn.optional_defaults_to# random value
  • type - #dotlrn.required# #dotlrn.must_have_values#
    • professor @@ -69,9 +68,10 @@
  • access_level - #dotlrn.optional_defaults_to# full - #dotlrn.must_have_values# full, limited -
  • guest - #dotlrn.optional_defaults_to# guest - +
  • guest - #dotlrn.optional_defaults_to# f - #dotlrn.must_have_values# t, f
  • notify - #dotlrn.optional_defaults_to# f + #dotlrn.must_have_values# t, f

@@ -81,11 +81,11 @@ #dotlrn.Example_File#
-    username,password,first_names,last_name,email,id,type,access_level,guest,notify
-    joestue,4jfe3,Joe,Student,joe@_somewhere_.net,123-456-7890,student,full,f,f
-    al1stein,emc2,Albert,Einstein,al@_school_.edu,al,professor,full,f,t
-    syshack,,Systems,Hacker,syshacker@_company_.com,,admin,,,,
-    tester,test,Intersted,Onlooker,onlooker@_somewhere_.net,,external,,limited,t,t
+    first_names,last_name,email,username,password,type,access_level,guest,notify
+    Joe,Student,joe@_somewhere_.net,joestue,4jfe3,student,full,f,f
+    Albert,Einstein,al@_school_.edu,al,emc2,professor,full,f,t
+    Systems,Hacker,syshacker@_company_.com,syshack,,admin
+    Intersted,Onlooker,onlooker@_somewhere_.net,,,external,limited,t,t
   

Index: openacs-4/packages/dotlrn-admin/dotlrn-admin.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-admin/dotlrn-admin.info,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-admin/dotlrn-admin.info 20 Aug 2004 14:44:20 -0000 1.1 +++ openacs-4/packages/dotlrn-admin/dotlrn-admin.info 24 Feb 2005 13:33:07 -0000 1.2 @@ -7,12 +7,12 @@ f t - + Andrew Grumet .LRN-wide admin pages. Initially created as a singleton with automount at /dotlrn/dotlrn-admin. These can be changed if and when .LRN supports multiple instances. Contains pages and scripts for configuring .LRN --- managing users, departments, terms, classes and so on. - + Index: openacs-4/packages/dotlrn-bm/dotlrn-bm.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-bm/dotlrn-bm.info,v diff -u -r1.7 -r1.8 --- openacs-4/packages/dotlrn-bm/dotlrn-bm.info 13 Jan 2005 13:57:23 -0000 1.7 +++ openacs-4/packages/dotlrn-bm/dotlrn-bm.info 24 Feb 2005 13:33:08 -0000 1.8 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/dotlrn-calendar/dotlrn-calendar.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-calendar/dotlrn-calendar.info,v diff -u -r1.13 -r1.14 --- openacs-4/packages/dotlrn-calendar/dotlrn-calendar.info 13 Jan 2005 13:57:23 -0000 1.13 +++ openacs-4/packages/dotlrn-calendar/dotlrn-calendar.info 24 Feb 2005 13:33:08 -0000 1.14 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/dotlrn-curriculum/dotlrn-curriculum.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-curriculum/dotlrn-curriculum.info,v diff -u -r1.4 -r1.5 --- openacs-4/packages/dotlrn-curriculum/dotlrn-curriculum.info 13 Jan 2005 13:57:24 -0000 1.4 +++ openacs-4/packages/dotlrn-curriculum/dotlrn-curriculum.info 24 Feb 2005 13:33:08 -0000 1.5 @@ -7,12 +7,12 @@ f t - + Ola Hansson 2004-03-10 Polyxena - + Index: openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info,v diff -u -r1.14 -r1.15 --- openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info 13 Jan 2005 13:57:25 -0000 1.14 +++ openacs-4/packages/dotlrn-dotlrn/dotlrn-dotlrn.info 24 Feb 2005 13:33:08 -0000 1.15 @@ -7,13 +7,13 @@ f t - + OpenACS Helper routines for dotLRN applets 2004-03-10 OpenACS - + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-evaluation/catalog/dotlrn-evaluation.es_GT.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/dotlrn-faq/dotlrn-faq.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-faq/dotlrn-faq.info,v diff -u -r1.13 -r1.14 --- openacs-4/packages/dotlrn-faq/dotlrn-faq.info 13 Jan 2005 13:57:26 -0000 1.13 +++ openacs-4/packages/dotlrn-faq/dotlrn-faq.info 24 Feb 2005 13:33:09 -0000 1.14 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/dotlrn-forums/dotlrn-forums.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-forums/dotlrn-forums.info,v diff -u -r1.11 -r1.12 --- openacs-4/packages/dotlrn-forums/dotlrn-forums.info 13 Jan 2005 13:57:27 -0000 1.11 +++ openacs-4/packages/dotlrn-forums/dotlrn-forums.info 24 Feb 2005 13:33:09 -0000 1.12 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/dotlrn-fs/dotlrn-fs.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-fs/dotlrn-fs.info,v diff -u -r1.25 -r1.26 --- openacs-4/packages/dotlrn-fs/dotlrn-fs.info 13 Jan 2005 13:57:27 -0000 1.25 +++ openacs-4/packages/dotlrn-fs/dotlrn-fs.info 24 Feb 2005 13:33:09 -0000 1.26 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/dotlrn-homework/dotlrn-homework.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/dotlrn-homework.info,v diff -u -r1.6 -r1.7 --- openacs-4/packages/dotlrn-homework/dotlrn-homework.info 13 Jan 2005 13:57:28 -0000 1.6 +++ openacs-4/packages/dotlrn-homework/dotlrn-homework.info 24 Feb 2005 13:33:09 -0000 1.7 @@ -7,13 +7,13 @@ f f - + Don Baccus Provides a homework assignment dropboxes for dotLRN classes. 2004-03-10 furfly.net, LLC - + Index: openacs-4/packages/dotlrn-news/dotlrn-news.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-news/dotlrn-news.info,v diff -u -r1.9 -r1.10 --- openacs-4/packages/dotlrn-news/dotlrn-news.info 13 Jan 2005 13:57:30 -0000 1.9 +++ openacs-4/packages/dotlrn-news/dotlrn-news.info 24 Feb 2005 13:33:09 -0000 1.10 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/dotlrn-news-aggregator/dotlrn-news-aggregator.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-news-aggregator/dotlrn-news-aggregator.info,v diff -u -r1.5 -r1.6 --- openacs-4/packages/dotlrn-news-aggregator/dotlrn-news-aggregator.info 13 Jan 2005 13:57:31 -0000 1.5 +++ openacs-4/packages/dotlrn-news-aggregator/dotlrn-news-aggregator.info 24 Feb 2005 13:33:09 -0000 1.6 @@ -7,11 +7,11 @@ f t - + Simon Carstensen 2004-03-10 - + Index: openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info,v diff -u -r1.18 -r1.19 --- openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info 13 Jan 2005 13:57:31 -0000 1.18 +++ openacs-4/packages/dotlrn-portlet/dotlrn-portlet.info 24 Feb 2005 13:33:10 -0000 1.19 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/dotlrn-static/dotlrn-static.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-static/dotlrn-static.info,v diff -u -r1.10 -r1.11 --- openacs-4/packages/dotlrn-static/dotlrn-static.info 13 Jan 2005 13:57:32 -0000 1.10 +++ openacs-4/packages/dotlrn-static/dotlrn-static.info 24 Feb 2005 13:33:10 -0000 1.11 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/dotlrn-survey/dotlrn-survey.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-survey/dotlrn-survey.info,v diff -u -r1.4 -r1.5 --- openacs-4/packages/dotlrn-survey/dotlrn-survey.info 13 Jan 2005 13:57:32 -0000 1.4 +++ openacs-4/packages/dotlrn-survey/dotlrn-survey.info 24 Feb 2005 13:33:10 -0000 1.5 @@ -7,13 +7,13 @@ f t - + dave bauer dotLRN applet for Survey package dotLRN applet for Survey package 2004-03-10 - + Index: openacs-4/packages/dotlrn-syllabus/dotlrn-syllabus.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-syllabus/dotlrn-syllabus.info,v diff -u -r1.6 -r1.7 --- openacs-4/packages/dotlrn-syllabus/dotlrn-syllabus.info 13 Jan 2005 13:57:48 -0000 1.6 +++ openacs-4/packages/dotlrn-syllabus/dotlrn-syllabus.info 24 Feb 2005 13:33:10 -0000 1.7 @@ -7,12 +7,12 @@ f f - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/dotlrn-weblogger/dotlrn-weblogger.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-weblogger/dotlrn-weblogger.info,v diff -u -r1.5 -r1.6 --- openacs-4/packages/dotlrn-weblogger/dotlrn-weblogger.info 13 Jan 2005 13:57:49 -0000 1.5 +++ openacs-4/packages/dotlrn-weblogger/dotlrn-weblogger.info 24 Feb 2005 13:33:10 -0000 1.6 @@ -7,12 +7,12 @@ f t - + Simon Carstensen 2004-03-10 Collaboraid - + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/download/catalog/download.de_DE.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/download/catalog/download.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/download/catalog/download.en_US.ISO-8859-1.xml,v diff -u -r1.2 -r1.3 --- openacs-4/packages/download/catalog/download.en_US.ISO-8859-1.xml 13 Jan 2005 13:57:50 -0000 1.2 +++ openacs-4/packages/download/catalog/download.en_US.ISO-8859-1.xml 24 Feb 2005 13:33:10 -0000 1.3 @@ -1,15 +1,22 @@ - + + # Downloads + # Files + # Versions add a version Add/Edit Repository {Add/Edit Repository} Administer Administration + all All Metadata + Approval Approval Pending. + approved Created by: Created by + current Current Metadata Current Reasons (current version) @@ -32,11 +39,16 @@ File Size: %file_size%k Help + Help on $title Help on %title;noquote% HTML + last 24hrs + last month + last week Add a New Archive Revision to %archive_name% Add a new Download Reason Add a New Software Archive + Add an Revision to $archive_name Administer permission is necessary to grant or revoke archive permissions After weeding out users who don't want to be spammed, there was no one left on your list. Sorry! @@ -60,6 +72,7 @@ If you have selected "Other" Linked: %metadata.linked_p% Mainpage: %metadata.mainpage_p% + Metadata id not found My Unapproved Revisions: Name: %metadata.pretty_name% One Archive: %archive_name;noquote% @@ -74,11 +87,14 @@ Required: %metadata.required_p% Set Repository Permissions Sort key: %metadata.sort_key% + The archive you are looking for (archive ID $archive_id) could not be found The following users will receive your spam: the metadata collected for the repository archive types. the repository archive types. the repository description and help text. the repository download reasons. + The revision you are looking for (revision ID $revision_id) could not be found + The version you are looking for (revision ID $revision_id) could not be found %title;noquote% Repository Administration Total downloads listed: %current_count%; Overall Total for %archive_name%: %total_count% Upload a New Version of Software: @@ -95,19 +111,26 @@ NOT on on %creation_date% + Other + pending Permission Plain Text please tell us why: Read Reason for Download: receive your email. ">register + rejected s >See All Versions Software Name: + Software Name + Software Type Spam Downloaders "Spam downloaders" Summary: + Type + Updated Version History Version Number: version %version_name% Index: openacs-4/packages/download/www/all-metadata.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/download/www/all-metadata.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/download/www/all-metadata.tcl 11 Dec 2003 21:40:02 -0000 1.3 +++ openacs-4/packages/download/www/all-metadata.tcl 24 Feb 2005 13:33:11 -0000 1.4 @@ -24,10 +24,10 @@ set table_def [list \ [list $metadata_select $pretty_name {} \ "
\$$metadata_select$version_count$archive_count  $archive_name $version_name  (${file_size}k)
$summary
 $archive_name $version_name  (${file_size}k)
$summary
+ lappend table_def [list dar.approved_p "[_ download.Approval]" \ + {} \ + { \ [ad_decode $approved_p \ "t" "approved \[ @@ -118,7 +120,7 @@ approve | reject\] "] - + value="@in_cart.quantity@" size="@max_quantity_length@" maxlength="@max_quantity_length@"> @in_cart.price;noquote@ @in_cart.line_subtotal@
+ +" +} else { + append doc_body "none" +} -

-" - # only want to show issue types in the issue type widget, and then clump all others under # "other" set issue_type_list [db_list get_issue_type_list "select picklist_item from ec_picklist_items where picklist_name='issue_type' order by sort_key"] @@ -56,13 +50,17 @@ and deleted_p = 'f' and 1 <= (select count(*) from ec_cs_issue_type_map map where map.issue_id=issues.issue_id and map.issue_type=:issue_type)"] -append doc_body "

  • $issue_type : +if {$num_open_issues > 0 } { + append doc_body "
  • " +} else { + append doc_body "" +} -open($num_open_issues) | closed -

    -" - } # same query for issues that aren't in issue_type_list @@ -82,56 +80,52 @@ and deleted_p = 'f' $last_bit_of_query"] -append doc_body "

  • all others : -open ($num_open_issues) | -closed - -

    -" +if { $num_open_issues > 0 } { + append doc_body "

  • type

    open

    closed

    uncategorized " - - set num_open_issues [db_string get_open_issues "select count(*) from ec_customer_service_issues issues, ec_user_identification id where issues.user_identification_id = id.user_identification_id and close_date is NULL and deleted_p = 'f' and 0 = (select count(*) from ec_cs_issue_type_map map where map.issue_id=issues.issue_id)"] -append doc_body "open ($num_open_issues) | -closed +if {$num_open_issues > 0 } { + append doc_body "$num_open_issues open closed
    closed
    $issue_type +$num_open_issues open closed +
    $issue_type +none closed +
    all others +$num_open_issues open +closed" +} else { + append doc_body "
    all others +none +closed" +} +append doc_body "

    add New Interaction

    " if { [llength $issue_type_list] == 0 } { - append doc_body "If you want to see issues separated out by commonly used issue types, then add those issue types to the issue type picklist below in Picklist Management." + append doc_body "

    If you want to see issues separated out by commonly used issue types, then add those issue types to the issue type in Picklist Management.

    " } -append doc_body " -

    +append doc_body "

    Search for customer

    -

    Customers

    - -
      -
    • Quick search for registered users: +
    Search for registered users: -

    -

    -
  • Quick search for unregistered users with a customer service history: +
  • Search for unregistered users with a customer service history: -

    -

    -
  • Customers who have spent over +
  • Customers who have spent over ([ad_parameter -package_id [ec_id] Currency ecommerce]) -in the last days +in the last days. - +

    Administrative Actions

    Statistics and Reports [ad_admin_footer] Index: openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.tcl 9 Mar 2004 00:59:47 -0000 1.6 +++ openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.tcl 24 Feb 2005 13:33:14 -0000 1.7 @@ -87,7 +87,7 @@ append exception_text "
  • You forgot to specify the method of inquiry (phone/email/etc.).\n" } elseif { $interaction_type == "other" && (![info exists interaction_type_other] || [empty_string_p $interaction_type_other]) } { incr exception_count - append exception_text "
  • You forgot to fill in the text box for Other.\n" + append exception_text "
  • You forgot to fill in the text box detail for Other.\n" } elseif { $interaction_type != "other" && ([info exists interaction_type_other] && ![empty_string_p $interaction_type_other]) } { incr exception_count append exception_text "
  • You selected \"Inquired via: [string toupper [string index $interaction_type 0]][string range $interaction_type 1 [expr [string length $interaction_type] -1]]\", but you also filled in something in the \"If Other, specify\" field. This is inconsistent.\n" @@ -113,102 +113,16 @@ -append doc_body "[ad_admin_header "One Issue"] +append doc_body "[ad_admin_header "One Issue"]

    One Issue

    - [ad_context_bar [list "../index.tcl" "Ecommerce([ec_system_name])"] [list "index.tcl" "Customer Service Administration"] "One Issue (part of New Interaction)"] -
    -A customer may discuss several issues during the course of one interaction. Please -enter the information about only one issue below: +
    " -
    -[export_form_vars interaction_id c_user_identification_id action_id open_date_str interaction_type interaction_type_other interaction_originator first_names last_name email postal_code other_id_info return_to_issue insert_id] - - -" - -if { [info exists c_user_identification_id] } { - append doc_body " - - - - " -} - -if { ![info exists issue_id] } { - append doc_body " - - - - - - - - - - - - " -} else { - set order_id [db_string get_order_id "select order_id from ec_customer_service_issues where issue_id=:issue_id"] - set issue_type_list [db_list get_issue_type_list "select issue_type from ec_cs_issue_type_map where issue_id=:issue_id"] - - append doc_body " - - - - - - - - - - - - " -} -append doc_body " - - - - - - - - - - - - - - - -
    Customer:[ec_user_identification_summary $c_user_identification_id "t"]" - - if { [info exists postal_code] } { - append doc_body "
    - [ec_location_based_on_zip_code $postal_code] - " - } - - append doc_body "
    Issue ID: - If this is a new issue, please leave this blank (a new Issue ID will be generated)
    Order ID: - Fill this in if this inquiry is about a specific order. -
    Issue Type: (leave blank if based on an existing issue):[ec_issue_type_widget]
    Issue ID:$issue_id[export_form_vars issue_id]
    Order ID:[ec_decode $order_id "" "none" $order_id]
    Issue Type[join $issue_type_list ", "]
    Details:
    Information used to respond to inquiry:[ec_info_used_widget]
    If follow-up is required, please specify:
    Close this issue? -No (Issue requires follow-up) -Yes (Issue is resolved) -
    -" - if { ![info exists c_user_identification_id] } { append doc_body " +

    Customer identification:

    - - Customer identification: - -

    - Here's what we could determine about the customer given the information you typed into the previous form:

      @@ -247,25 +161,24 @@ if { ![empty_string_p $first_names] || ![empty_string_p $last_name] } { if { ![empty_string_p $first_names] && ![empty_string_p $last_name] } { - set sql "select user_id as d_user_id from cc_users where upper(first_names)=upper (:first_names) and upper(last_name)=upper(:last_name)" + set sql "select email, user_id as d_user_id from cc_users where upper(first_names)=upper (:first_names) and upper(last_name)=upper(:last_name)" db_foreach get_user_ids $sql { - - append doc_body "
    • This may be the registered user $first_names $last_name (check here if this is correct).\n" + append doc_body "
    • This may be the registered user $first_names $last_name $email (check here if this is correct).
    • " } } elseif { ![empty_string_p $first_names] } { - set sql "select user_id as d_user_id, last_name as d_last_name from cc_users where upper(first_names)=upper(:first_names)" + set sql "select email, user_id as d_user_id, last_name as d_last_name from cc_users where upper(first_names)=upper(:first_names)" db_foreach get_user_id_and_lname $sql { - append doc_body "
    • This may be the registered user $first_names $d_last_name (check here if this is correct).\n" + append doc_body "
    • This may be the registered user $first_names $d_last_name $email (check here if this is correct).\n
    • " } } elseif { ![empty_string_p $last_name] } { - set sql "select user_id as d_user_id, first_names as d_first_names from cc_users where upper(last_name)=upper(:last_name)" + set sql "select email, user_id as d_user_id, first_names as d_first_names from cc_users where upper(last_name)=upper(:last_name)" db_foreach get_user_id_and_names $sql { - append doc_body "
    • This may be the registered user $d_first_names $last_name (check here if this is correct).\n" + append doc_body "
    • This may be the registered user $d_first_names $last_name $email (check here if this is correct).\n
    • " } } @@ -280,7 +193,7 @@ db_foreach get_user_identification $sql { - append doc_body "
    • This may be the non-registered person who has had a previous interaction with us: [ec_user_identification_summary_sub $d_user_identification_id "t"] (check here if this is correct)." + append doc_body "
    • This may be the non-registered person who has had a previous interaction with us: [ec_user_identification_summary $d_user_identification_id "t"] (check here if this is correct).
    • " lappend already_selected_user_identification_id_list $d_user_identification_id } } @@ -300,8 +213,10 @@ } db_foreach get_user_identification_info $sql { - - append doc_body "
    • This may be the non-registered person who has had a previous interaction with us: [ec_user_identification_summary_sub $d_user_identification_id "t"] (check here if this is correct)." +# need to add a db0or1row select ec_customer_service_issues.user_identification where ec_customer_service_issues.issue_id = ec_cs_issue_type_map.issue_id and ec_customer_service_issues.user_identification = $user_identification *** actually, see if you can add the restriction to the loops query, and check if db_foreach skips if no hits, otherwise have to check for it first. +# if exists then proceed with this iteration of the loop, otherwise ignore it as a false positive. +# the other possibility is to identify when the customer_service.issue_id is created, and why the map is not... + append doc_body "
    • This may be the non-registered person who has had a previous interaction with us: [ec_user_identification_summary $d_user_identification_id "t"] (check here if this is correct).
    • " lappend already_selected_user_identification_id_list $d_user_identification_id } } @@ -315,7 +230,7 @@ db_foreach get_user_identification_info $sql { - append doc_body "
    • This may be the non-registered person who has had a previous interaction with us: [ec_user_identification_summary_sub $d_user_identification_id "t"] (check here if this is correct)." + append doc_body "
    • This may be the non-registered person who has had a previous interaction with us: [ec_user_identification_summary $d_user_identification_id "t"] (check here if this is correct).
    • " lappend already_selected_user_identification_id_list $d_user_identification_id } @@ -330,24 +245,101 @@ db_foreach get_user_ids_by_postal_code $sql { - append doc_body "
    • This may be the non-registered person who has had a previous interaction with us: [ec_user_identification_summary_sub $d_user_identification_id "t"] (check here if this is correct)." + append doc_body "
    • This may be the non-registered person who has had a previous interaction with us: [ec_user_identification_summary $d_user_identification_id "t"] (check here if this is correct).
    • " lappend already_selected_user_identification_id_list $d_user_identification_id } } } - append doc_body "
    -

    + append doc_body "" +} + +append doc_body "

    One issue

    A customer may discuss several issues during the course of one interaction. Please +enter the information about only one issue below:

    + + +[export_form_vars interaction_id c_user_identification_id action_id open_date_str interaction_type interaction_type_other interaction_originator first_names last_name email postal_code other_id_info return_to_issue insert_id] + +" + +if { [info exists c_user_identification_id] } { + append doc_body " + + + " +} + +if { ![info exists issue_id] } { + append doc_body " + + + + + + + + + + + " +} else { + set order_id [db_string get_order_id "select order_id from ec_customer_service_issues where issue_id=:issue_id"] + set issue_type_list [db_list get_is` + + + + + + + + + + + +" } +append doc_body " + + + + + + + + + + + + -[ad_admin_footer] + + +
    Customer:[ec_user_identification_summary $c_user_identification_id "t"]" + + if { [info exists postal_code] } { + append doc_body "
    + [ec_location_based_on_zip_code $postal_code]" + } + + append doc_body "
    Previous Issue ID: + If this is a new issue, please leave this blank (a new Issue ID will be generated)
    New Issue Type: (leave blank if based on an existing issue) [ec_issue_type_widget]
    Order ID: + Fill this in if this inquiry is about a specific order. +
    Issue ID:$issue_id[export_form_vars issue_id]
    Issue Type[join $issue_type_list ", "]
    Order ID:[ec_decode $order_id "" "none" $order_id]
    Issue details:
    (action_details)
    Resources used:Information used to respond to inquiry [ec_info_used_widget]
    Requires follow-up? +yes requires follow-up
    +    Please elaborate: -append doc_body "
    - - -
    +
    no (resolved)
    " +append doc_body "
    Customer + + +
    + +[ad_admin_footer] +" doc_return 200 text/html $doc_body Index: openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-3.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-3.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-3.tcl 9 Mar 2004 00:59:47 -0000 1.6 +++ openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-3.tcl 24 Feb 2005 13:33:14 -0000 1.7 @@ -25,7 +25,7 @@ @param {follow_up_required "f"} @param {info_used_list ""} @param submit - @param return_to_issue + @param return_to_issue @author @creation-date @@ -56,15 +56,16 @@ {follow_up_required "f"} {info_used_list ""} submit + issue_id:optional,naturalnum } ad_require_permission [ad_conn package_id] admin # doubleclick protection: if { [db_string get_service_action_count "select count(*) from ec_customer_service_actions where action_id=:action_id"] > 0 } { - if { $submit == "Interaction Complete" } { - ad_returnredirect interaction-add.tcl - } else { +ns_log Notice "interaction-add-3.tcl: double click protection, line 65" + ad_returnredirect index +} elseif { $submit != "Interaction complete" } { # I have to use the action_id to figure out user_identification_id # and interaction_id so that I can pass them to interaction-add-2.tcl set row_exists_p [db_0or1row get_user_id_info "select i.user_identification_id as c_user_identification_id, a.interaction_id @@ -73,8 +74,6 @@ and a.action_id=:action_id"] set insert_id 1 ad_returnredirect "interaction-add-2.tcl?[export_url_vars interaction_id interaction_type postal_code c_user_identification_id insert_id interaction_originator]" - } - ad_script_abort } # the customer service rep must be logged on @@ -111,11 +110,9 @@ if { [info exists order_id] && [regexp "\[^0-9\]+" $order_id] } { incr exception_count - append exception_text "
  • The order ID should be numeric.\n" + append exception_text "
  • The Order ID should be numeric.\n" } - - if { $exception_count > 0 } { ad_return_complaint $exception_count $exception_text ad_script_abort @@ -131,14 +128,14 @@ # user with the interaction based on issue_id or order_id. # Otherwise, the user_identification_id is set, so they will just be # given an error message. -if { ![empty_string_p $issue_id] } { +if { [value_if_exists issue_id] > 0 } { # see who this issue belongs to if { [db_0or1row get_user_issue_id_info "select u.user_id as issue_user_id, u.user_identification_id as issue_user_identification_id from ec_user_identification u, ec_customer_service_issues i where u.user_identification_id = i.user_identification_id and i.issue_id=:issue_id"]==0 } { - ad_return_complaint 1 "
  • The issue ID that you specified is invalid. Please go back and check the issue ID you entered. If this is a new issue, please leave the issue ID blank.\n" + ad_return_complaint 1 "
  • The Issue ID that you specified is invalid. Please go back and check the Issue ID you entered. If this is a new issue, please leave the issue ID blank.\n" ad_script_abort } @@ -238,7 +235,7 @@ # see who the order belongs to set row_exists_p [db_0or1row get_order_owner "select user_id as order_user_id from ec_orders where order_id=:order_id"] if { $row_exists_p==0 } { - ad_return_complaint 1 "
  • The order ID that you specified is invalid. Please go back and check the order ID you entered. If this issue is not about a specific order, please leave the order ID blank.\n" + ad_return_complaint 1 "
  • The shopping cart Order ID that you specified is invalid. Please go back and check the order ID you entered. If this issue is not about a specific online order, please leave the Order ID blank.\n" ad_script_abort } @@ -447,9 +444,9 @@ } -if { $submit == "Interaction Complete" } { - if { ![info exists return_to_issue] } { - ad_returnredirect interaction-add +if { $submit == "Interaction complete" } { + if {[value_if_exists return_to_issue] < 1 } { + ad_returnredirect index } else { ad_returnredirect "issue?issue_id=$return_to_issue" } @@ -461,7 +458,3 @@ ad_returnredirect "interaction-add-2?[export_url_vars interaction_id interaction_type postal_code return_to_issue insert_id interaction_originator]&c_user_identification_id=$uiid_to_insert" } - - - - Index: openacs-4/packages/ecommerce/www/admin/customer-service/user-identification-match-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/customer-service/user-identification-match-2.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/ecommerce/www/admin/customer-service/user-identification-match-2.tcl 10 Sep 2002 22:22:41 -0000 1.2 +++ openacs-4/packages/ecommerce/www/admin/customer-service/user-identification-match-2.tcl 24 Feb 2005 13:33:14 -0000 1.3 @@ -18,4 +18,5 @@ db_dml update_user_id_set_new_uid "update ec_user_identification set user_id=:d_user_id where user_identification_id=:user_identification_id" db_release_unused_handles -ad_returnredirect "[ec_acs_admin_url]users/one.tcl?user_id=$d_user_id" \ No newline at end of file +# complete the workflow loop, get ready for next interaction +ad_returnredirect "index" Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/orders/by-state-and-time-oracle.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/orders/by-state-and-time-postgresql.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/orders/by-state-and-time.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/ecommerce/www/admin/orders/fulfill-2.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/orders/fulfill-2.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/ecommerce/www/admin/orders/fulfill-2.xql 26 May 2002 04:36:50 -0000 1.2 +++ openacs-4/packages/ecommerce/www/admin/orders/fulfill-2.xql 24 Feb 2005 13:33:14 -0000 1.3 @@ -15,7 +15,7 @@ from ec_items i, ec_products p where i.product_id=p.product_id and i.order_id=:order_id - and i.item_id in (:selected_items) + and i.item_id in ($selected_items) Index: openacs-4/packages/ecommerce/www/admin/orders/fulfill-3.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/orders/fulfill-3.tcl,v diff -u -r1.10 -r1.11 --- openacs-4/packages/ecommerce/www/admin/orders/fulfill-3.tcl 13 Jan 2005 13:58:02 -0000 1.10 +++ openacs-4/packages/ecommerce/www/admin/orders/fulfill-3.tcl 24 Feb 2005 13:33:14 -0000 1.11 @@ -57,10 +57,15 @@ } set shipping_method [db_string shipping_method_select " - select shipping_method + select shipping_method from ec_orders where order_id=:order_id"] +set creditcard_id [db_string creditcard_id_select " + select creditcard_id + from ec_orders + where order_id=:order_id"] + set shippable_p [ec_decode [db_string shippable_p_select " select shipping_method from ec_orders @@ -171,7 +176,7 @@ # Verify that the shipment is for the entire order. - if {$shipment_cost == $order_cost} { + if { [ec_same_value $shipment_cost $order_cost] } { # The shipment could be for the entire order but it could also # be that a partial shipment, return, and an addition of more @@ -191,19 +196,20 @@ # amount and can thus not differentiate between the amount # authorized and the amount to capture. - if {[string equal $shipment_cost [db_string authorized_amount_select " + if { [ec_same_value $shipment_cost [db_string authorized_amount_select " select transaction_amount from ec_financial_transactions where order_id = :order_id and to_be_captured_p is null and authorized_date is not null - and transaction_type = 'charge'" -default ""]]} { + and transaction_type = 'charge'" -default ""] ]} { set transaction_id [db_string transaction_id_select " select transaction_id from ec_financial_transactions where order_id = :order_id and to_be_captured_p is null + and creditcard_id = :creditcard_id and transaction_type = 'charge'" -default ""] if { ![empty_string_p $transaction_id] } { @@ -218,7 +224,7 @@ set mark_result $response(response_code) set pgw_transaction_id $response(transaction_id) if { [string equal $mark_result "invalid_input"]} { - set problem_details "When trying to mark shipment $shipment_id (transaction $transaction_id) at [ad_conn url], the following result occurred: $mark_result" + set problem_details "(ref:fulfill-3,227) When trying to mark shipment $shipment_id (transaction $transaction_id) at [ad_conn url], the following result occurred: $mark_result" db_dml problems_log_insert " insert into ec_problems_log (problem_id, problem_date, problem_details, order_id) @@ -281,11 +287,11 @@ # returns failed_authorization, authorized, # no_recommendation, or invalid_input. - array set response [ec_creditcard_authorization $order_id $transaction_id] + array set response [ec_creditcard_authorization $order_id] set result $response(response_code) set pgw_transaction_id $response(transaction_id) if {[string equal $result "failed_authorization"] || [string equal $result "invalid_input"]} { - set problem_details "When trying to authorize shipment $shipment_id (transaction $transaction_id) at [ad_conn url], the following result occurred: $result" + set problem_details "(ref:fulfill-3,216) When trying to authorize shipment $shipment_id (transaction $transaction_id) at [ad_conn url], the following result occurred: $result" db_dml problems_insert " insert into ec_problems_log (problem_id, problem_date, problem_details, order_id) @@ -320,7 +326,7 @@ set mark_result $response(response_code) set pgw_transaction_id $response(transaction_id) if {[string equal $mark_result "invalid_input"]} { - set problem_details "When trying to mark shipment $shipment_id (transaction $transaction_id) at [ad_conn url], the following result occurred: $mark_result" + set problem_details "(ref:fulfill-3,329) When trying to mark shipment $shipment_id (transaction $transaction_id) at [ad_conn url], the following result occurred: $mark_result" db_dml problems_insert " insert into ec_problems_log (problem_id, problem_date, problem_details, order_id) Index: openacs-4/packages/ecommerce/www/admin/orders/fulfill-3.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/orders/fulfill-3.xql,v diff -u -r1.6 -r1.7 --- openacs-4/packages/ecommerce/www/admin/orders/fulfill-3.xql 17 May 2003 10:30:21 -0000 1.6 +++ openacs-4/packages/ecommerce/www/admin/orders/fulfill-3.xql 24 Feb 2005 13:33:15 -0000 1.7 @@ -17,6 +17,14 @@ + + + select creditcard_id + from ec_orders + where order_id=:order_id + + + select shipping_method Index: openacs-4/packages/ecommerce/www/admin/orders/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/orders/index.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/ecommerce/www/admin/orders/index.tcl 9 Mar 2004 00:59:50 -0000 1.5 +++ openacs-4/packages/ecommerce/www/admin/orders/index.tcl 24 Feb 2005 13:33:15 -0000 1.6 @@ -26,6 +26,10 @@ select sum(one_if_within_n_days(confirmed_date,1)) as n_o_in_last_24_hours, sum(one_if_within_n_days(confirmed_date,7)) as n_o_in_last_7_days from ec_orders_reportable" +db_1row recent_baskets_select " + select sum(one_if_within_n_days(in_basket_date,1)) as s_b_in_last_24_hours, sum(one_if_within_n_days(in_basket_date,7)) as s_b_in_last_7_days + from ec_orders" + db_1row recent_gift_certificates_purchased_select " select sum(one_if_within_n_days(issue_date,1)) as n_g_in_last_24_hours, sum(one_if_within_n_days(issue_date,7)) as n_g_in_last_7_days from ec_gift_certificates_purchased" @@ -46,6 +50,8 @@
    • Orders ($n_o_in_last_24_hours in last 24 hours; $n_o_in_last_7_days in last 7 days)

    • +
    • Shopping Basket Activity + ($s_b_in_last_24_hours in last 24 hours; $s_b_in_last_7_days in last 7 days)

    • Order Fulfillment " Index: openacs-4/packages/ecommerce/www/admin/orders/index.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/orders/index.xql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/ecommerce/www/admin/orders/index.xql 13 Sep 2002 00:42:09 -0000 1.4 +++ openacs-4/packages/ecommerce/www/admin/orders/index.xql 24 Feb 2005 13:33:15 -0000 1.5 @@ -10,6 +10,15 @@ + + + select + sum(one_if_within_n_days(in_basket_date,1)) as s_b_in_last_24_hours, + sum(one_if_within_n_days(in_basket_date,7)) as s_b_in_last_7_days + from ec_orders + + + select Index: openacs-4/packages/ecommerce/www/admin/products/add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/add-2.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/ecommerce/www/admin/products/add-2.tcl 9 Mar 2004 00:59:51 -0000 1.5 +++ openacs-4/packages/ecommerce/www/admin/products/add-2.tcl 24 Feb 2005 13:33:15 -0000 1.6 @@ -182,21 +182,32 @@ # thumbnails are all jpg files # set thumbnail dimensions - if [catch {set thumbnail_width [ad_parameter -package_id [ec_id] ThumbnailWidth ecommerce]} ] { - if [catch {set thumbnail_height [ad_parameter -package_id [ec_id] ThumbnailHeight ecommerce]} ] { - set convert_dimensions "100x10000" - } else { - set convert_dimensions "10000x$thumbnail_height" - } + set use_both_param_dimensions [parameter::get -parameter ThumbnailSizeOuterlimits] + set thumbnail_width_is_blank [catch {set thumbnail_width [parameter::get -parameter ThumbnailWidth]} ] + set thumbnail_height_is_blank [catch {set thumbnail_height [parameter::get -parameter ThumbnailHeight]} ] + if { $use_both_param_dimensions } { + set convert_dimensions "${thumbnail_width}x${thumbnail_height}>" } else { - set convert_dimensions "${thumbnail_width}x10000" + if { $thumbnail_width_is_blank } { + if { $thumbnail_height_is_blank } { + set convert_dimensions "100x10000" + } else { + set convert_dimensions "10000x${thumbnail_height}" + } + } else { + set convert_dimensions "${thumbnail_width}x10000" + } } + set system_url [parameter::get -package_id [ad_acs_kernel_id] -parameter SystemURL] + set system_name [parameter::get -package_id [ad_acs_kernel_id] -parameter SystemName] + set image_comment "from $system_url $system_name" + set perm_thumbnail_filename "$full_dirname/product-thumbnail.jpg" set convert [ec_convert_path] if {![string equal "" $convert] && [file exists $convert]} { - if [catch {exec $convert -geometry $convert_dimensions $perm_filename $perm_thumbnail_filename} errmsg ] { + if [catch {exec $convert -geometry $convert_dimensions -comment \"$image_comment\" $perm_filename $perm_thumbnail_filename} errmsg ] { ad_return_complaint 1 " I am sorry, an error occurred converting the picture. $errmsg " Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/products/categories-upload-2-oracle.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/ecommerce/www/admin/products/categories-upload-2-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/categories-upload-2-postgresql.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/ecommerce/www/admin/products/categories-upload-2-postgresql.xql 8 Mar 2004 19:46:14 -0000 1.3 +++ openacs-4/packages/ecommerce/www/admin/products/categories-upload-2-postgresql.xql 24 Feb 2005 13:33:15 -0000 1.4 @@ -84,10 +84,5 @@ :ip) - - - - - - + Index: openacs-4/packages/ecommerce/www/admin/products/categories-upload-2.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/categories-upload-2.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/ecommerce/www/admin/products/categories-upload-2.xql 8 Mar 2004 19:46:14 -0000 1.3 +++ openacs-4/packages/ecommerce/www/admin/products/categories-upload-2.xql 24 Feb 2005 13:33:15 -0000 1.4 @@ -1,6 +1,13 @@ + + + select product_id from ec_products + where sku = :sku + + + select c.category_id, c.category_name, s.subcategory_id, s.subcategory_name, ss.subsubcategory_id, ss.subsubcategory_name @@ -27,5 +34,5 @@ where :category = category_id - + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/products/categories-upload-by-id-2-oracle.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/products/categories-upload-by-id-2-postgresql.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/products/categories-upload-by-id-2.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/products/categories-upload-by-id-2.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/products/categories-upload-by-id.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/ecommerce/www/admin/products/edit-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/edit-2.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/ecommerce/www/admin/products/edit-2.tcl 13 Jan 2005 13:58:02 -0000 1.7 +++ openacs-4/packages/ecommerce/www/admin/products/edit-2.tcl 24 Feb 2005 13:33:15 -0000 1.8 @@ -170,21 +170,32 @@ # thumbnails are all jpg files # set thumbnail dimensions - if [catch {set thumbnail_width [ad_parameter -package_id [ec_id] ThumbnailWidth ecommerce]} ] { - if [catch {set thumbnail_height [ad_parameter -package_id [ec_id] ThumbnailHeight ecommerce]} ] { - set convert_dimensions "100x10000" - } else { - set convert_dimensions "10000x$thumbnail_height" - } + set use_both_param_dimensions [parameter::get -parameter ThumbnailSizeOuterlimits] + set thumbnail_width_is_blank [catch {set thumbnail_width [parameter::get -parameter ThumbnailWidth]} ] + set thumbnail_height_is_blank [catch {set thumbnail_height [parameter::get -parameter ThumbnailHeight]} ] + if { $use_both_param_dimensions } { + set convert_dimensions "${thumbnail_width}x${thumbnail_height}>" } else { - set convert_dimensions "${thumbnail_width}x10000" + if { $thumbnail_width_is_blank } { + if { $thumbnail_height_is_blank } { + set convert_dimensions "100x10000" + } else { + set convert_dimensions "10000x${thumbnail_height}" + } + } else { + set convert_dimensions "${thumbnail_width}x10000" + } } + set system_url [parameter::get -package_id [ad_acs_kernel_id] -parameter SystemURL] + set system_name [parameter::get -package_id [ad_acs_kernel_id] -parameter SystemName] + set image_comment "from $system_url $system_name" + set perm_thumbnail_filename "$full_dirname/product-thumbnail.jpg" set convert [ec_convert_path] if {![string equal "" $convert] && [file exists $convert]} { - if [catch {exec $convert -geometry $convert_dimensions $perm_filename $perm_thumbnail_filename} errmsg ] { + if [catch {exec $convert -geometry $convert_dimensions -comment \"$image_comment\" $perm_filename $perm_thumbnail_filename} errmsg ] { ad_return_complaint 1 " I am sorry, an error occurred converting the picture. $errmsg " Index: openacs-4/packages/ecommerce/www/admin/products/edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/edit.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/ecommerce/www/admin/products/edit.tcl 13 Jan 2005 13:58:02 -0000 1.7 +++ openacs-4/packages/ecommerce/www/admin/products/edit.tcl 24 Feb 2005 13:33:15 -0000 1.8 @@ -270,7 +270,12 @@ " db_foreach custom_fields_select "select field_identifier, field_name, default_value, column_type from ec_custom_product_fields where active_p='t' order by creation_date" { - doc_body_append "

  • $field_name[ec_custom_product_field_form_element $field_identifier $column_type [db_string custom_field_value_select "select $field_identifier from ec_custom_product_field_values where product_id=:product_id" -default "" ]]
    $field_name[ec_custom_product_field_form_element $field_identifier $column_type $current_field_value]
    \n" Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/products/extras-upload-2-oracle.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/products/extras-upload-2-postgresql.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/ecommerce/www/admin/products/extras-upload-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/extras-upload-2.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/ecommerce/www/admin/products/extras-upload-2.tcl 9 Mar 2004 00:59:51 -0000 1.5 +++ openacs-4/packages/ecommerce/www/admin/products/extras-upload-2.tcl 24 Feb 2005 13:33:15 -0000 1.6 @@ -1,7 +1,7 @@ # www/[ec_url_concat [ec_url] /admin]/products/extras-upload-2.tcl ad_page_contract { This file updates ec_custom_product_field_values (as opposed to inserting - new rows) because upload*.tcl (which are to be run before extras-upload*.tcl) + new rows) because custom-field-add*.tcl (which are to be run before extras-upload*.tcl) insert rows into ec_custom_product_field_values (with everything empty except product_id and the audit columns) when they insert the rows into ec_products (for consistency with add*.tcl). @@ -13,12 +13,14 @@ } { csv_file csv_file.tmpfile:tmpfile + file_type + delimiter } ad_require_permission [ad_conn package_id] admin if { [empty_string_p $csv_file] } { - ad_return_error "Missing CSV File" "You must input the name of the .csv file on your local hard drive." + ad_return_error "Missing Data File" "You must input the name of the file on your local hard drive." return } @@ -37,54 +39,105 @@ set unix_file_name ${csv_file.tmpfile} +# Check that the file is readible if { ![file readable $unix_file_name] } { doc_body_append "Cannot read file $unix_file_name" return } +# Check that delimiter is one character, if used +if { [string length $delimiter] != 1 && [string eq $file_type "delim"]} { + doc_body_append "Delimiter is not one character long." + return +} doc_body_append "
     "
     
    -set csvfp [open $unix_file_name]
    -
    +set datafilefp [open $unix_file_name]
     set count 0
    -while { [ec_gets_char_delimited_line $csvfp elements] != -1 } {
    +set errors 0
    +# Continue reading the file till the end but stop when an error
    +# occured.
    +
    +# read line, depending  on file type
    +if {[string eq $file_type "csv"]} {
    +    set line_status [ns_getcsv $datafilefp elements]
    +} elseif {[string eq $file_type "tab"]} {
    +    set line_status [ec_gets_char_delimited_line $datafilefp elements]
    +} elseif {[string eq $file_type "delim"]} {
    +    set line_status [ec_gets_char_delimited_line $datafilefp elements $delimiter]
    +} else {
    +    # no valid filetype chosen
    +    set line_status -1
    +}
    +
    +while { $line_status != -1 && !$errors} {
         incr count
         if { $count == 1 } {
     	# first time thru, we grab the number of columns and their names
     	set number_of_columns [llength $elements]
     	set columns $elements
     	set product_id_column [lsearch -exact $columns "product_id"]
    +        # Caroline@meekshome.com Allows you to specify either the product_id or the sku
    +        set sku_column [lsearch -exact $columns "sku"]
         } else {
     	# this line is a product
     # (this file used to insert rows into ec_custom_product_field_values, but
     # now that is done in upload-2.tcl, so we need to update instead)
     # 	set columns_sql "insert into ec_custom_product_field_values (last_modified, last_modifying_user, modified_ip_address "
    -# 	set values_sql " values (sysdate, $user_id, '$ip' "
    +# 	set values_sql " values (sysdate or now(), $user_id, '$ip' "
     # 	for { set i 0 } { $i < $number_of_columns } { incr i } {
     # 	    append columns_sql ", [lindex $columns $i]"
     # 	    append values_sql ", '[DoubleApos [lindex $elements $i]]'"
     # 	}
     # 	set sql "$columns_sql ) $values_sql )"
     
     	set sql "update ec_custom_product_field_values set last_modified=sysdate, last_modifying_user=:user_id, modified_ip_address=:ip"
    +        set moresql ""
     
    -	for { set i 0 } { $i < $number_of_columns } { incr i } {
    -	  set var_name "var_$i"
    -	  set $var_name [lindex $elements $i]
    -	  if { $i != $product_id_column } {
    -	    append sql ", [lindex $columns $i]=:$var_name"
    -	  }
    +        for { set i 0 } { $i < $number_of_columns } { incr i } {
    +	    set var_name "var_$i"
    +	    set $var_name [lindex $elements $i]
    +	    if { $i != $product_id_column && $i != $sku_column} {
    +	        append moresql ", [lindex $columns $i]=:$var_name"
    +	    }
     	}
    -	append sql " where product_id=:var_$product_id_column"
    +        # Caroline@meekshome.com - see if we have a product_id or need to use the sku
    +        if { $product_id_column > -1 } {
    +            # product_id supplied
    +            append sql "${moresql} where product_id=:var_$product_id_column"
    +            if { [catch {db_dml product_update_with_product_id $sql} errmsg] } {
    +	        append bad_products_sql "$sql\n"
    +	        doc_body_append "FAILURE! SQL: $sql
    $errmsg\n" + } else { + doc_body_append "Success!
    \n" + } + } elseif { $sku_column > -1 } { + append sql "${moresql} where product_id = (select product_id from ec_products where sku = :var_$sku_column)" + if { [catch {db_dml product_update_with_sku $sql} errmsg] } { + append bad_products_sql "$sql\n" + doc_body_append "FAILURE! SQL: $sql
    $errmsg\n" + } else { + doc_body_append "Success!
    \n" + } + } else { + ad_return_complaint 1 "Each row must either supply the product_id ($product_id_column) or the sku ($sku_column); number_of_columns: $number_of_columns, columns: $columns" + } - if { [catch {db_dml product_update $sql} errmsg] } { - append bad_products_sql "$sql\n" - doc_body_append "FAILURE! SQL: $sql
    \n" - } else { - doc_body_append "Success!
    \n" - } } + + # read next line of data file, depending on file type, or end read loop if error. + if {[string eq $file_type "csv"]} { + set line_status [ns_getcsv $datafilefp elements] + } elseif {[string eq $file_type "tab"]} { + set line_status [ec_gets_char_delimited_line $datafilefp elements] + } elseif {[string eq $file_type "delim"]} { + set line_status [ec_gets_char_delimited_line $datafilefp elements $delimiter] + } else { + # no valid filetype chosen + set line_status -1 + } + } doc_body_append "
    @@ -93,7 +146,7 @@

    (Note: \"success\" doesn't actually mean that the information was uploaded; it -just means that Oracle didn't choke on it (since updates to tables are considered +just means that the database did not choke on it (since updates to tables are considered successes even if 0 rows are updated). If you need reassurance, spot check some of the individual products.) [ad_admin_footer] " Index: openacs-4/packages/ecommerce/www/admin/products/extras-upload.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/extras-upload.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/ecommerce/www/admin/products/extras-upload.tcl 9 Mar 2004 00:59:51 -0000 1.3 +++ openacs-4/packages/ecommerce/www/admin/products/extras-upload.tcl 24 Feb 2005 13:33:15 -0000 1.4 @@ -15,7 +15,7 @@ populated by this script. Note: last_modified, last_modifying_user and modified_ip_address are - set automatically and should not appear in the CSV file. + set automatically and should not appear in the data file. @author Eve Andersson (eveander@arsdigita.com) @creation-date Summer 1999 @@ -36,11 +36,15 @@

    - -CSV Filename -

    + +Data Filename +
    +CSV format
    +Tab Delimited format
    +Delimited by: (single character).
    +

    - +
    @@ -51,7 +55,7 @@

    -This page uploads a CSV file containing product information into the database. The file format should be: +This page uploads a data file containing product information into the database. The file format should be:

    field_name_1, field_name_2, ... field_name_n
    @@ -76,7 +80,7 @@ if { [lsearch -exact $undesirable_cols $col_to_print] == -1 } { doc_body_append "$col_to_print" if { [lsearch -exact $required_cols $col_to_print] != -1 } { - doc_body_append " (required)" + doc_body_append " (required, can use sku instead)" } doc_body_append "\n" } Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/products/import-images-2.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/ecommerce/www/admin/products/import-images.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/ecommerce/www/admin/products/upload-2-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/upload-2-postgresql.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/ecommerce/www/admin/products/upload-2-postgresql.xql 24 Nov 2001 03:36:39 -0000 1.2 +++ openacs-4/packages/ecommerce/www/admin/products/upload-2-postgresql.xql 24 Feb 2005 13:33:15 -0000 1.3 @@ -82,7 +82,7 @@ last_modified, last_modifying_user, modified_ip_address) values - (:val_$product_id_column, + (:product_id, now(), :user_id, :peeraddr) Index: openacs-4/packages/ecommerce/www/admin/products/upload-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/upload-2.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/ecommerce/www/admin/products/upload-2.tcl 9 Mar 2004 00:59:51 -0000 1.7 +++ openacs-4/packages/ecommerce/www/admin/products/upload-2.tcl 24 Feb 2005 13:33:15 -0000 1.8 @@ -53,8 +53,8 @@ # not set automatically like creation_date. set legal_field_names {sku product_name one_line_description detailed_description search_keywords price no_shipping_avail_p \ - shipping shipping_additional weight present_p active_p url template_id stock_status color_list \ - size_list style_list email_on_purchase_list} + shipping shipping_additional weight present_p active_p url template_id stock_status color_list \ + size_list style_list email_on_purchase_list} # Check each entry in the datafile for the following required fields. # These fields are required so that we can check if a product already @@ -96,173 +96,185 @@ incr count if { $count == 1 } { - # First row, grab the field names and their number. + # First row, grab the field names and their number. - set field_names $elements - set number_of_fields [llength $elements] + set field_names $elements + set number_of_fields [llength $elements] - # Check the field names against the list of legal names + # Check the field names against the list of legal names - foreach field_name $field_names { - if {[lsearch -exact $legal_field_names $field_name] == -1} { - incr errors - doc_body_append "

    FAILURE! $field_name is not an allowed field name.

    " - } - } + foreach field_name $field_names { + if {[lsearch -exact $legal_field_names $field_name] == -1} { + incr errors + doc_body_append "

    FAILURE! $field_name is not an allowed field name.

    " + } + } } else { - # Subsequent rows, thus a product + # Subsequent rows, thus a product - # Reset the required fields to NULL so that we can later check - # if the data file gave them a value. + # Reset the required fields to NULL so that we can later check + # if the data file gave them a value. - foreach required_field_name $required_field_names { - set $required_field_name "" - } + foreach required_field_name $required_field_names { + set $required_field_name "" + } - # Assign the values in the CSV to the field names. + # Assign the values in the CSV to the field names. - for { set i 0 } { $i < $number_of_fields } { incr i } { - set [lindex $field_names $i] [lindex $elements $i] - } + for { set i 0 } { $i < $number_of_fields } { incr i } { + set [lindex $field_names $i] [lindex $elements $i] + } - # Check if all the required fields have been given a value + # Check if all the required fields have been given a value - foreach required_field_name $required_field_names { - if {[set $required_field_name] == ""} { - incr errors - } - } + foreach required_field_name $required_field_names { + if {[set $required_field_name] == ""} { + incr errors + } + } # be certain that present_p defaults to 't' if no value given - # if it's not false it must be true + # if it's not false it must be true if {[string equal $present_p "f"] != 1} { set present_p "t" } # be certain that no_shipping_avail_p defaults to 'f' if no value given - # if it's not true it must be false + # if it's not true it must be false if {[string equal no_shipping_avail_p "t"] != 1} { set no_shipping_avail_p "f" } - # Create or update the product if all the required fields were - # given values. + # Create or update the product if all the required fields were + # given values. - if {!$errors} { + if {!$errors} { - # Check if there is already product with the give sku. - # Set product_id to NULL so that ACS picks a unique id if - # there no product with the gicen sku. + # Check if there is already product with the give sku. + # Set product_id to NULL so that ACS picks a unique id if + # there no product with the gicen sku. - set product_id [db_string product_check {select product_id from ec_products where sku = :sku;} -default ""] - if { $product_id != ""} { + set product_id [db_string product_check {select product_id from ec_products where sku = :sku;} -default ""] + if { $product_id != ""} { - # We found a product_id for the given sku, let's - # update the product. + # We found a product_id for the given sku, let's + # update the product. - if { [catch {db_dml product_update " - update ec_products set - user_id = :user_id, - product_name = :product_name, - price = :price, - one_line_description = :one_line_description, - detailed_description = :detailed_description, - search_keywords = :search_keywords, - present_p = :present_p, - stock_status = :stock_status, - now(), - color_list = :color_list, - size_list = :size_list, - style_list = :style_list, - email_on_purchase_list = :email_on_purchase_list, - url = :url, - no_shipping_avail_p = :no_shipping_avail_p, - shipping = :shipping, - shipping_additional = :shipping_additional, - weight = :weight, - active_p = 't', - template_id = :template_id - where product_id = :product_id; - "} errmsg] } { - doc_body_append "

    FAILURE! Product update of $product_name failed with error:<\p>

    $errmsg

    " - } else { - doc_body_append "

    Updated $product_name

    " - } - } else { + if { [catch {db_dml product_update " + update ec_products set + user_id = :user_id, + product_name = :product_name, + price = :price, + one_line_description = :one_line_description, + detailed_description = :detailed_description, + search_keywords = :search_keywords, + present_p = :present_p, + stock_status = :stock_status, + now(), + color_list = :color_list, + size_list = :size_list, + style_list = :style_list, + email_on_purchase_list = :email_on_purchase_list, + url = :url, + no_shipping_avail_p = :no_shipping_avail_p, + shipping = :shipping, + shipping_additional = :shipping_additional, + weight = :weight, + active_p = 't', + template_id = :template_id + where product_id = :product_id; + "} errmsg] } { + doc_body_append "

    FAILURE! Product update of $product_name failed with error:<\p>

    $errmsg

    " + } else { + doc_body_append "

    Updated $product_name

    " + } + } else { - # Generate a product_id + # Generate a product_id - set product_id [db_nextval acs_object_id_seq] + set product_id [db_nextval acs_object_id_seq] - # Dirname will be the first four letters (lowercase) - # of the product_name followed by the product_id (for - # uniqueness) - - regsub -all {[^a-zA-Z]} $product_name "" letters_in_product_name - set letters_in_product_name [string tolower $letters_in_product_name] - if [catch {set dirname "[string range $letters_in_product_name 0 3]$product_id"}] { - #maybe there aren't 4 letters in the product name - set dirname "${letters_in_product_name}$product_id" - } + # Dirname will be the first four letters (lowercase) + # of the product_name followed by the product_id (for + # uniqueness) + + regsub -all {[^a-zA-Z]} $product_name "" letters_in_product_name + set letters_in_product_name [string tolower $letters_in_product_name] + if [catch {set dirname "[string range $letters_in_product_name 0 3]$product_id"}] { + #maybe there aren't 4 letters in the product name + set dirname "${letters_in_product_name}$product_id" + } - # Get the directory where dirname is stored - set subdirectory "[ec_data_directory][ec_product_directory][ec_product_file_directory $product_id]" - ec_assert_directory $subdirectory + # Get the directory where dirname is stored + set subdirectory "[ec_data_directory][ec_product_directory][ec_product_file_directory $product_id]" + ec_assert_directory $subdirectory - set full_dirname "$subdirectory/$dirname" - ec_assert_directory $full_dirname + set full_dirname "$subdirectory/$dirname" + ec_assert_directory $full_dirname - # There is no product with sku :sku so create a new - # product. + # There is no product with sku :sku so create a new + # product. + db_transaction { - if { [catch {db_exec_plsql product_insert " - select ec_product__new( - :product_id, - :user_id, - :context_id, - :product_name, - :price, - :sku, - :one_line_description, - :detailed_description, - :search_keywords, - :present_p, - :stock_status, - :dirname, - now(), - :color_list, - :size_list, - :peeraddr - )"} errmsg] } { - doc_body_append "FAILURE! Product creation of $product_name failed with error:<\p>

    $errmsg

    " - } else { - doc_body_append "

    Created $product_name

    " - } + if { [catch {db_exec_plsql product_insert " + select ec_product__new( + :product_id, + :user_id, + :context_id, + :product_name, + :price, + :sku, + :one_line_description, + :detailed_description, + :search_keywords, + :present_p, + :stock_status, + :dirname, + now(), + :color_list, + :size_list, + :peeraddr + )"} errmsg] } { + doc_body_append "FAILURE! Product creation of $product_name failed with error:<\p>

    $errmsg

    " + } else { + doc_body_append "

    Created $product_name

    " - if { [catch {db_dml product_insert_2 " - update ec_products set - style_list = :style_list, - email_on_purchase_list = :email_on_purchase_list, - url = :url, - no_shipping_avail_p = :no_shipping_avail_p, - shipping = :shipping, - shipping_additional = :shipping_additional, - weight = :weight, - active_p = 't', - template_id = :template_id - where product_id = :product_id; - "} errmsg] } { - doc_body_append "FAILURE! Product update of new product $product_name failed with error:<\p>

    $errmsg

    " - } - } + # we have to also write a row into ec_custom_product_field_values + # for consistency with add*.tcl (added 1999-08-08, inadvertently removed 20020504) - # Product line is completed, increase counter - incr success_count - } + if { [catch {db_dml custom_product_field_insert "insert into ec_custom_product_field_values (product_id, last_modified, last_modifying_user, modified_ip_address) values (:product_id, now(), :user_id, :peeraddr)" } errmsg] } { + doc_body_append "FAILURE! Insert into ec_custom_product_field_values failed for product_id=$product_id with error: $errmsg
    \n" + } + } + } + + if { [catch {db_dml product_insert_2 " + update ec_products set + style_list = :style_list, + email_on_purchase_list = :email_on_purchase_list, + url = :url, + no_shipping_avail_p = :no_shipping_avail_p, + shipping = :shipping, + shipping_additional = :shipping_additional, + weight = :weight, + active_p = 't', + template_id = :template_id + where product_id = :product_id; + "} errmsg] } { + doc_body_append "FAILURE! Product update of new product $product_name failed with error:<\p>

    $errmsg

    " + } + + } + + # Product line is completed, increase counter + + incr success_count + + } } # read next line of data file, depending on file type, or end read loop if error. Index: openacs-4/packages/ecommerce/www/admin/products/upload-utilities.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/products/upload-utilities.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/ecommerce/www/admin/products/upload-utilities.tcl 9 Mar 2004 00:59:51 -0000 1.4 +++ openacs-4/packages/ecommerce/www/admin/products/upload-utilities.tcl 24 Feb 2005 13:33:15 -0000 1.5 @@ -19,43 +19,58 @@
    -There are three utilities provided with the ecommerce module that can -help you load you catalog data into the database: +These utilities help you load catalog data into the database: +
  • Product Loader + uploads a data file that contains one line per product + in your catalog. Each line has fields corresponding to a subset of the + columns in the ec_products table. The first line of the data file is a + header that defines which fields are being loaded and the order that + they appear in the data file. The remaining lines contain the product + data. +

  • +
  • Product Extras Loader + is similar to the product loader except it + loads data into ec_custom_product_field_values, the table which contains + the values for each product of the custom fields you have added. + The file format resembles the products import data file format. +

  • +
  • Product Category Map Loader By Name-Matching + creates the mappings between products in ec_products table + and categories in ec_categories, ec_subcategories, and ec_subsubcategories tables + by inserting rows into ec_category_product_map and ec_subcategory_product_map.) The + data file you create for uploading should consist of product sku and + category or subcategory names, one per row. This process attempts to be + smart by using the SQL \"LIKE\" function to resolve close matches between + categories listed in the data file and those known in the database. +

  • +
  • Product Category Map Loader By Index Matching + creates the product-categories mappings by finding exact matches to the + category tables' indexes category_id, subcategory_id, subsubcategory_id. +

  • -

    The product loader uploads a CSV file that contains one line per product -in your catalog. Each line has fields corresponding to a subset of the -columns in the ec_products table. The first line of the CSV file is a -header that defines which fields are being loaded and the order that -they appear in the CSV file. The remaining lines contain the product -data. +

  • + Bulk Product Image Loader imports product images for existing + products, and creates thumbnails for them. + Place product images in a set of directories accessible by this server. Then use this utility + to upload a file that maps product sku to the location of the product images + full_imagepathname. This option is untested and therefore buggy, but will be tested over the next day or so +

  • -

    The product extras loader is similar to the product loader except it -loads data into ec_custom_product_field_values, the table which contains -the values for each product of the custom fields you've added. -The file format is -also similar to that of the product data CSV file. + -

    Note:You must load the products and define the extra fields -you wish to use before you can load the product extras. - -

    The product category map loader creates the mappings between products -and categories and products and subcategories (specifically, it inserts -rows into ec_category_product_map and ec_subcategory_product_map.) The -CSV file you create for uploading should consist of product id and -category or subcategory names, one per row. This program attempts to be -smart by using the SQL like function to resolve close matches between -categories listed in the CSV file and those known in the database. - -

    Note:You must create the categories and subcategories before -you can use the product category map loader. - -

    Images and thumbnails

    -

    Currently, there is no feature for bulk uploading images. However, the code will automatically recognize images that are placed in the product's directory. Use the filename \"product\" and either \".gif\" or \".jpg\" extension for product image. Thumbnails use the filename \"product-thumbnail.jpg\". No facility exists for GIF thumbnails, because they tend to have larger file sizes which signifcantly slow page loads via ssl. Note: PNG extensions are not supported either, as there is no ns_pngsize function (at the time of this writing).

    +

    + Note: Products need to be loaded and their extra fields need to be defined before + loading product extras. +

    +

    + Note: Categories and subcategories need to be created before using + a Product Category Map Loader. +

    +

    + Note: There may be a peak load condition on the server for an extended period + when bulk loading of product images create product thumbnails (optional feature). +

    [ad_admin_footer] " Index: openacs-4/packages/ecommerce/www/doc/ecommerce-setup.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/doc/ecommerce-setup.adp,v diff -u -r1.6 -r1.7 --- openacs-4/packages/ecommerce/www/doc/ecommerce-setup.adp 12 Jan 2004 04:24:29 -0000 1.6 +++ openacs-4/packages/ecommerce/www/doc/ecommerce-setup.adp 24 Feb 2005 13:33:16 -0000 1.7 @@ -114,10 +114,19 @@
  • +

    Change DefaultMaster template to use the ecommerce search and extra links toolbar. + An example modified defaultmaster template is provided to get you started. + Locate the subsite Main Site's DefaultMaster parameter from the + site map page. Change the value from + '/www/default-master' to '/packages/ecommerce/www/default-master'. +

    +
  • -

    Set up product categorization (@package_url@admin/cat/):

    +
  • +

    Set up product categorization ( + @package_url@admin/cat/):

    +

    Product categories, subcategories and subsubcategories are optional, but if you intend to offer many products for sale, it is best to think about how they should be categorized Index: openacs-4/packages/ecommerce/www/doc/ecommerce-technical.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/doc/ecommerce-technical.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/ecommerce/www/doc/ecommerce-technical.adp 22 May 2003 14:49:34 -0000 1.5 +++ openacs-4/packages/ecommerce/www/doc/ecommerce-technical.adp 24 Feb 2005 13:33:16 -0000 1.6 @@ -10,14 +10,14 @@

  • Install an implementation of the Payment Service ContractPayment Service Contract such as the Authorize.net Gateway or the VeriSign PayflowPro Gateway .

    + @authorize_gateway_installed@> or the EZIC Gateway .

    (Note: it can take a few weeks for your bank and a payment gateway to get your account ready, so get started on that @@ -26,13 +26,10 @@

    -

    You can start testing @package_name@ with a You can start testing @package_name@ with a 30-day FREE TRIAL VeriSign - test account and the PayflowPro Gateway . With the 30-day FREE - TRIAL, you'll see just how easy it is to begin accepting on-line - payments.

    + test SSL key. +

    @@ -75,35 +72,48 @@
  • -

    Install the @package_name@ - package.

    +

    Install @package_name@ package from OpenACS.

  • ImageMagick (which is free) must be installed (either in /usr/local/bin/ or elsewhere - if you're running your server - chrooted) if you want thumbnails to be automatically - created. For information on the use of ImageMagick in OpenACS, + if you are running your server + chrooted expired info, dated: April 2001) if you want thumbnails to be automatically + created. Set the ecommerce ImageMagickPath parameter to the imagemagick path. + For information on the original use of ImageMagick in OpenACS, see Chapter 6: + href="http://philip.greenspun.com/panda/images">Chapter 6: Adding Images to Your Site of Philip and Alex's Guide to Web - Publishing.

    + Publishing. +

    +

    + The shopping basket automatically recognizes images that are placed in product directories + designated by the ecommerce ProductDataDirectory parameter. + Product images use the filename "product" and either ".gif" or ".jpg" extension. + Thumbnails use the filename "product-thumbnail.jpg". No facility exists for displaying + GIF thumbnails using the ecommerce procs, because they tend to have larger file sizes + that signifcantly delay + image loads via ssl. Note: PNG extensions are not supported, because there is no + fully supported production ready ns_pngsize function, though there + may be one soon. See: + AOLserver nsimage module (beta) +

  • -

    Install OpenSSL and the Install OpenSSL and the latest nsopenssl - module for OpenNSD or AOLServer so that @package_name@ + module that is appropriate for the version of AOLserver used, so that @package_name@ can support secure transactions.

    -

    Follow the nsopenssl installation instructions - till the very end. @package_name@ uses ns_httpsopen, ns_httpsget - or ns_httpspost calls and requires https.tcl to be installed.

    +

    Follow the nsopenssl installation instructions. + @package_name@ uses ns_httpsopen, ns_httpsget + or ns_httpspost calls and requires the https.tcl file to be installed.

  • @@ -123,10 +133,11 @@
  • -

    A /web/yourserver/data/ecommerce/product directory is - needed to hold the products' supporting files (it's outside the - web root so that no uploaded supporting files can be executed). - The directory has to be write-able by nsadmin. (You can change +

    A /var/lib/aolserver/yourserver/ec-data/ecommerce/product directory is + needed to hold the products' supporting files (it is outside the + web server root so that no uploaded supporting files can be executed). + The directory has to be write-able by the username used with AOLserver. + (You can change the directory by editing EcommerceDataDirectory and ProductDataDirectory in your @package_name@ parameters.)

  • @@ -168,7 +179,7 @@
  • Set PaymentGateway to the package key of the Payment Service + href="/doc/payment-gateway/">Payment Service Contract implementation you like to use to handle the financial transactions.

    @@ -186,28 +197,25 @@
  • -

    Qmail must be installed on your system (it may require special - setup if you're running your server - chrooted).

    +

    An MTA with standard sendmail software hooks (such as + qmail or + postfix) must be + installed on your system. It may require a special + setup if you are running + your server chrooted (link info dated: April 2001). +

  • -
  • -

    Optional: @package_name@ includes a customized version of the - registration/login/logout pipeline which handles the transition - to secure logins a bit more gracefully than the ACS Subsites - Package. You may want to patch the ACS Subsites and ACS TCL - packages to match the behavior of @package_name@. See the directions for applying the patch.

  • Optional: If you want to have products be "visible" to the Site Wide Search package then you need to install the Site Wide Search + href="/doc/search/">Site Wide Search Package, including all of its requirements for installation. During the installation of SWS or after run packages/ecommerce/sql/ec-products-sws-setup.sql to add products - to your interMedia index.

    + to your PostgresQL index.

    Note: At this time (Version 4.0a, April 6th, 2001) the interface to SWS has a bug (quite possibly the bug is @@ -230,7 +238,7 @@

    A financial transaction is inserted whenever a credit card authorization to charge or refund is made. These transactions - may or may not be carried through to fulfillment. The + may or may not be "marked" to be carried through to fulfillment. The specifics:

    When an order is placed, an authorization is done for the full @@ -242,29 +250,30 @@ are tied to the order using the order_id. @package_name@ immediately captures the transaction for the items that do not require - shipping. @package_name@ doesn't captures the transaction for the - items that need shipping not until the items ship.

    + shipping. @package_name@ captures the transaction for the + items that need shipping when the items ship.

    -

    When a shipment is made, if it's a full shipment of the order, - the financial transactions inserted when the order is first - placed are ready to be captured. (The field +

    When a shipment is made, if it is a full shipment of the order, + the financial transaction is captured using the existing authorization + from when the order was first placed. (The field to_be_captured_p of the financial transactions - become 't' and @package_name@ attempts to capture it.)

    + become 't', the to_be_captured_date is inserted, + and @package_name@ attempts to capture it.)

    However, if only a partial shipment is made, a new authorization has to be made (therefore a new row is inserted into ec_financial_transactions, - to_be_captured_p is set to 't' and the system + to_be_captured_p is set to 't', the date is inserted into + to_be_captured_date and the system attempts to mark and capture it).

    When a refund is made, a row is also inserted into ec_financial_transactions. A refund is only - inserted if it is definite that it needs to be captured, so + inserted when it needs to be captured, so there is no need to set to_be_captured_p if transaction_type='refund'.

    -

    Scheduled procs go around and do the follow-through (making - sure everything is marked/settled) for every transaction that +

    Scheduled procs periodically mark or settle every transaction that needs to be captured.

  • @@ -281,9 +290,9 @@

    When the system applies a customer's gift certificate balance to an order, it begins by using the ones that are going to - expire the soonest and continues chronologically until either + expire earlier and continues chronologically until either the order is completely paid for or until the customer's gift - certificates run out. If only part of a gift certificate is + certificates are spent. If only part of a gift certificate is used, the remaining amount can be used later.

    If a customer purchases a gift certificate for someone else, @@ -322,8 +331,7 @@ what the order state will be or it is completely independent of what the order state will be.

    -

    An "X" in a column implies that there is at least one (possibly - many) item in that item state.

    +

    An "X" in a column implies that there is at least one item in that item state --maybe more.

    @@ -600,10 +608,10 @@
    An IN_BASKET order with saved_p='f' and a user_session_id that doesn't correspond to the user_session_id in anyone's cookie (e.g. the user's cookie expired or they turned cookies - off). There's no way of determining whether a shopping cart + off). There is no way of determining whether a shopping cart has been abandoned. These are different from expired orders which are automatically put into the order state EXPIRED if - they're still IN_BASKET after N days, where N is set in the + they are still IN_BASKET after N days, where N is set in the @package_name@ parameters.) @@ -616,16 +624,19 @@ gateway for authorization, some checking is done by the module to make sure that the credit card number is well-formed (using the procedure ec_creditcard_precheck which can be - found in /tcl/ecommerce-credit). The procedure checks the - length of the credit card number, makes sure it starts with the - right digit for the card type, and does a LUHN-10 check (that's - a checksum which can't determine whether the number is a valid - credit card number but which determines whether it's even - possible for it to be a valid credit card number).

    + found in /tcl/ecommerce-credit.tcl). The procedure checks basic + characteristics of a credit card number, such as the + number of digits, verifies that the card number starts with the + right digit for the card type, and if appropriate, does a LUHN-10 + check. LUHN-10 is a checksum that determines if the card number + is a member of the set of valid credit card numbers.

    This procedure only encompasses the three most common credit card types: MasterCard, Visa, and American Express. It can - quite easily be extended to include other credit card types.

    + quite easily be extended to include other credit card types. + Be sure to examine ec_creditcard_precheck + to verify that it does not screen out cards that your + merchant system accepts.

    @@ -639,10 +650,10 @@ site administrator adds a new email template using the admin pages, you will have to create a new procedure that does all the variable substitution, the actual sending out of the email, etc. - This should be easy. Just copy any one of the 7 autoemail - procedures in /tcl/ecommerce-email (except for + This should be straight forward. Copy any one of the 7 autoemail + procedures in /tcl/ecommerce-email.tcl (except for ec_email_gift_certificate_recipient, which is - unusual). Then invoke your new procedure anywhere appropriate + nonstandard). Then invoke your new procedure anywhere appropriate (e.g. the email that says "Thank you for your order" is invoked by calling ec_email_new_order $order_id after the order has been successfully authorized).

    @@ -657,23 +668,25 @@ fulfilled. This is done because a new charge might need to be authorized if a partial shipment is made (we are forced to either capture the amount that a charge was authorized for or to - capture nothing at all - we can't capture any amount in between; - therefore, we are forced to do a new authorization for each + capture nothing at all - we cannot capture any amount inbetween; + Therefore, we are forced to do a new authorization for each amount we are going to charge the user). A new charge also might need to be authorized if a user has asked the site administrator to add an item to their order.

    -

    If you've decided not to allow customers to reuse their credit +

    If you decide to not allow customers to reuse their credit cards, their credit card data is removed periodically (a few times a day) by ec_remove_creditcard_data in - /tcl/ecommerce-scheduled-procs (it removes credit card numbers - for orders that are FULFILLED, RETURNED, VOID, or EXPIRED).

    + /tcl/ecommerce-scheduled-procs.tcl It removes credit card numbers + for orders that are FULFILLED, RETURNED, VOID, or EXPIRED.

    -

    If you've decided to allow customers to reuse their credit +

    If you decide to allow customers to reuse their credit cards, their credit card information is stored indefinitely. This is not recommended unless you have top-notch, full-time, - security-minded system administrators. The credit card numbers - are not encrypted in the database because there isn't much point + security-minded system administrators. Some merchant gateways + may have requirements about how credit card data is stored. + The credit card numbers + are not encrypted in the database because there is not much point in doing so; our software would have to decrypt the numbers anyway in order to pass them off to the payment gateway, so it would be completely trivial for anyone who breaks into the @@ -710,7 +723,7 @@ there will be fewer numbers in your database for the crackers to steal). To clear out the unnecessary credit card data, just run a procedure like ec_remove_creditcard_data (in - /tcl/ecommerce-scheduled-procs) but get rid of the if statement + /tcl/ecommerce-scheduled-procs.tcl). Be sure to bypass the if statement that checks whether SaveCreditCardDataP is 0 or 1.

    @@ -721,35 +734,35 @@

    The site administrator can give the same product different prices for different classes of users. They can also put - products on sale over arbitrary periods of time (sale prices may + products on sale over arbitrary periods of time. Sale prices may be available to all customers or only to ones who have the - appropriate offer_code in their URL).

    + appropriate offer_code in their URL.

    The procedure ec_lowest_price_and_price_name_for_an_item in - /tcl/ecommerce-money-computations determines the lowest price + /tcl/ecommerce-money-computations.tcl determines the lowest price that a given user is entitled to receive based on what user - classes they're in and what offer_codes they came + classes they are in and what offer_codes they came to product with. Their offer_codes are stored, along with their user_session_id, in - ec_user_session_offer_codes (we decided to store - this in the database instead of in cookies because it was a + ec_user_session_offer_codes. We store + this in the database instead of in cookies, because it is a slightly more efficient method, although either implementation would have worked). One minor complication to this is that if a user saves their shopping cart, we want them to get their special offer price, even though they may be coming back with a - different user_session_id; therefore, upon + different user_session_id; Therefore, upon retrieving saved carts, the offer_codes are inserted again into ec_user_session_offer_codes - with the user's current user_session_id (we had to + with the user's current user_session_id. We associate offer_codes with - user_session_id as opposed to user_id - because someone with an offer_code shouldn't be - prevented from seeing the special offer price if they haven't + user_session_id as opposed to user_id, + because someone with an offer_code should not be + prevented from seeing the special offer price if they have not logged in yet).

    -

    The above items are just things that I've found myself explaining +

    The above items are just things that I have found myself explaining to others or things that I think will be useful for people extending this module. Obviously the bulk of the module's code has not been discussed here. If you have any questions, please Index: openacs-4/packages/ecommerce/www/doc/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/doc/index.adp,v diff -u -r1.7 -r1.8 --- openacs-4/packages/ecommerce/www/doc/index.adp 24 Jul 2004 08:34:18 -0000 1.7 +++ openacs-4/packages/ecommerce/www/doc/index.adp 24 Feb 2005 13:33:16 -0000 1.8 @@ -39,9 +39,9 @@

    If you just want to sell a handful of items and not build a - full online community, you're probably better off starting - with ArsDigita Shoppe, downloadable from http://arsdigita.com/free-tools/shoppe.

    + full online community, you might want to try + ArsDigita Shoppe (1999-2001), available from the Web Archive.org archives http://arsdigita.com/free-tools/shoppe.html.

    Index: openacs-4/packages/edit-this-page/edit-this-page.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/edit-this-page/edit-this-page.info,v diff -u -r1.13 -r1.14 --- openacs-4/packages/edit-this-page/edit-this-page.info 13 Jan 2005 13:58:03 -0000 1.13 +++ openacs-4/packages/edit-this-page/edit-this-page.info 24 Feb 2005 13:33:16 -0000 1.14 @@ -7,7 +7,7 @@ f f - + postgresql @@ -17,7 +17,7 @@ An easy-to-use content management system. An Easy to use publishing system with versioning and permissions. - + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/edit-this-page/catalog/edit-this-page.de_DE.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/edit-this-page/catalog/edit-this-page.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/edit-this-page/catalog/edit-this-page.en_US.ISO-8859-1.xml,v diff -u -r1.2 -r1.3 --- openacs-4/packages/edit-this-page/catalog/edit-this-page.en_US.ISO-8859-1.xml 13 Jan 2005 13:58:04 -0000 1.2 +++ openacs-4/packages/edit-this-page/catalog/edit-this-page.en_US.ISO-8859-1.xml 24 Feb 2005 13:33:16 -0000 1.3 @@ -1,5 +1,5 @@ - + A: Application: @@ -14,6 +14,7 @@ Create a new Create a new external link Create a new subtopic + Subtopic %subtopic_name% Created current current news items Index: openacs-4/packages/edit-this-page/www/etp.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/edit-this-page/www/etp.adp,v diff -u -r1.6 -r1.7 --- openacs-4/packages/edit-this-page/www/etp.adp 13 Jan 2005 13:58:04 -0000 1.6 +++ openacs-4/packages/edit-this-page/www/etp.adp 24 Feb 2005 13:33:16 -0000 1.7 @@ -83,7 +83,7 @@ @application_params.content_object_name@ #edit-this-page.or# -@subtopic_object_name@ +#edit-this-page.create_new_subtopic# #edit-this-page.or# Index: openacs-4/packages/edit-this-page/www/etp.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/edit-this-page/www/etp.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/edit-this-page/www/etp.tcl 13 Jan 2005 13:58:04 -0000 1.6 +++ openacs-4/packages/edit-this-page/www/etp.tcl 24 Feb 2005 13:33:16 -0000 1.7 @@ -24,7 +24,8 @@ # get the cloest ancestor acs-subsite set subsite_url [site_node_closest_ancestor_package_url -package_key "acs-subsite"] array set application_params [etp::get_application_params] -set subtopic_object_name [_ "edit-this-page.[etp::get_application_param index_object_name [ad_parameter subtopic_application "default"]]"] +set subtopic_name [etp::get_application_param index_object_name [ad_parameter subtopic_application "default"]] +set subtopic_object_name "[_ edit-this-page.subtopic]" set package_id [ad_conn package_id] set content_type [etp::get_content_type $name] Index: openacs-4/packages/edit-this-page-portlet/catalog/edit-this-page-portlet.de_DE.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/edit-this-page-portlet/catalog/edit-this-page-portlet.de_DE.ISO-8859-1.xml,v diff -u -r1.2 -r1.3 --- openacs-4/packages/edit-this-page-portlet/catalog/edit-this-page-portlet.de_DE.ISO-8859-1.xml 13 Jan 2005 13:58:05 -0000 1.2 +++ openacs-4/packages/edit-this-page-portlet/catalog/edit-this-page-portlet.de_DE.ISO-8859-1.xml 24 Feb 2005 13:33:16 -0000 1.3 @@ -1,15 +1,15 @@ - + + ETP verwalten ETP Verwalten Deaktivieren Deaktiviert Aktivieren + ETP-File-Storage Gruppe Name - ETP verwalten - ETP-File-Storage + kein Eintrag Aus verwaltungstechnischen Gr�nden sollten die edit-this-page innerhalb einer Gruppe nur einmal eingesetzt werden. ETP - kein Eintrag Index: openacs-4/packages/evaluation/sql/postgresql/evaluation-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/sql/postgresql/evaluation-create.sql,v diff -u -r1.20 -r1.21 --- openacs-4/packages/evaluation/sql/postgresql/evaluation-create.sql 6 Jan 2005 16:19:25 -0000 1.20 +++ openacs-4/packages/evaluation/sql/postgresql/evaluation-create.sql 24 Feb 2005 13:33:17 -0000 1.21 @@ -53,7 +53,9 @@ check(late_submit_p in ('t','f')), requires_grade_p char(1) constraint evaluations_tasks_rgp_ck - check(late_submit_p in ('t','f')) + check(late_submit_p in ('t','f')), + -- estimated time to complete the assigment + estimated_time decimal ); create index evalutaion_tasks_gid_index on evaluation_tasks(grade_item_id); @@ -210,6 +212,98 @@ --------------------------------------- -- TASKS --------------------------------------- + +create function evaluation__new_task (integer, integer, varchar, integer, integer, varchar, numeric, timestamptz, char, char, char, decimal, varchar, timestamptz, integer, varchar, varchar, timestamptz, varchar, varchar) +returns integer as ' +declare + p_item_id alias for $1; + p_revision_id alias for $2; + p_task_name alias for $3; + p_number_of_members alias for $4; + p_grade_item_id alias for $5; + p_description alias for $6; + p_weight alias for $7; + p_due_date alias for $8; + p_late_submit_p alias for $9; + p_online_p alias for $10; + p_requires_grade_p alias for $11; + estimated_time alias for $12; + p_object_type alias for $13; + p_creation_date alias for $14; + p_creation_user alias for $15; + p_creation_ip alias for $16; + p_title alias for $17; -- default null + p_publish_date alias for $18; + p_nls_language alias for $19; -- default null + p_mime_type alias for $20; -- default null + + v_revision_id integer; + +begin + + v_revision_id := content_revision__new( + p_title, -- title + p_description, -- description + p_publish_date, -- publish_date + p_mime_type, -- mime_type + p_nls_language, -- nls_language + null, -- data + p_item_id, -- item_id + p_revision_id, -- revision_id + p_creation_date, -- creation_date + p_creation_user, -- creation_user + p_creation_ip, -- creation_ip + null -- content length + ); + + insert into evaluation_tasks + (task_id, + task_item_id, + task_name, + number_of_members, + due_date, + grade_item_id, + weight, + online_p, + late_submit_p, + requires_grade_p) + values + (v_revision_id, + p_item_id, + p_task_name, + p_number_of_members, + p_due_date, + p_grade_item_id, + p_weight, + p_online_p, + p_late_submit_p, + p_requires_grade_p); + + return v_revision_id; +end; +' language 'plpgsql'; + +create function evaluation__delete_task (integer) +returns integer as ' +declare + p_task_item_id alias for $1; + del_rec record; +begin + + + PERFORM evaluation__delete_student_eval(evaluation_id) from evaluation_student_evals where task_item_id = p_task_item_id; + PERFORM evaluation__delete_answer(answer_id) from evaluation_answers where task_item_id = p_task_item_id; + PERFORM evaluation__delete_task_sol(solution_id) from evaluation_tasks_sols where task_item_id = p_task_item_id; + PERFORM evaluation__delete_grades_sheet(grades_sheet_id) from evaluation_grades_sheets where task_item_id = p_task_item_id; + + delete from evaluation_tasks where task_id = p_task_item_id; + + PERFORM content_revision__delete(task_id) from evaluation_tasks where task_item_id = p_task_item_id; + + return 0; + +end;' language 'plpgsql'; + create function task__name(integer) returns varchar as ' declare Index: openacs-4/packages/faq/faq.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/faq/faq.info,v diff -u -r1.13 -r1.14 --- openacs-4/packages/faq/faq.info 12 Aug 2004 13:57:46 -0000 1.13 +++ openacs-4/packages/faq/faq.info 24 Feb 2005 13:33:17 -0000 1.14 @@ -13,6 +13,7 @@ Nima Mazloumi Manage simple and categorized Question and Answer style FAQs with WYSIWYG and notification functionalities. 2004-08-12 + 2 Ybos Corporation Handles frequently asked questions Q&A presentation. Can be one Q&A per page or all presented flat. Straightforward application with room for improvement. Support for notification as well as WYSIQYG Editor and Categories - both optional. Category trees are displayed flat. No multiple filters. Index: openacs-4/packages/faq-portlet/faq-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/faq-portlet/faq-portlet.info,v diff -u -r1.17 -r1.18 --- openacs-4/packages/faq-portlet/faq-portlet.info 13 Jan 2005 13:58:07 -0000 1.17 +++ openacs-4/packages/faq-portlet/faq-portlet.info 24 Feb 2005 13:33:17 -0000 1.18 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/file-storage/file-storage.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/file-storage.info,v diff -u -r1.36 -r1.37 --- openacs-4/packages/file-storage/file-storage.info 13 Jan 2005 13:58:08 -0000 1.36 +++ openacs-4/packages/file-storage/file-storage.info 24 Feb 2005 13:33:17 -0000 1.37 @@ -7,14 +7,14 @@ f f - + OpenACS Collaborative document storage 2004-07-21 OpenACS Provides a versioned document store with storage in the filesystem or database (depending on configuration). Documents and folders can be permissioned and folders downloaded. - + Index: openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a13-5.1.0a14.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a13-5.1.0a14.sql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a13-5.1.0a14.sql 13 Jan 2005 13:58:10 -0000 1.2 +++ openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a13-5.1.0a14.sql 24 Feb 2005 13:33:18 -0000 1.3 @@ -9,4 +9,4 @@ -- Add root folders into dav_site_node_folder_map -insert into dav_site_node_folder_map (select sn.node_id, fs.folder_id, 'f' from fs_root_folders fs, site_nodes sn where sn.object_id=fs.package_id where fs.folder_id not in (select folder_id from dav_site_node_folder_map)); \ No newline at end of file +insert into dav_site_node_folder_map (select sn.node_id, fs.folder_id, 'f' from fs_root_folders fs, site_nodes sn where sn.object_id=fs.package_id and fs.folder_id not in (select folder_id from dav_site_node_folder_map)); \ No newline at end of file Index: openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a4-5.1.0a5.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a4-5.1.0a5.sql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a4-5.1.0a5.sql 24 Jul 2004 08:34:19 -0000 1.2 +++ openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a4-5.1.0a5.sql 24 Feb 2005 13:33:18 -0000 1.3 @@ -1,4 +1,3 @@ - declare impl_id integer; v_foo integer; @@ -7,16 +6,27 @@ impl_id := acs_sc_impl.new ( 'NotificationType', 'fs_fs_notif_type', - 'file_storage' + 'file_storage', + 'file_storage' ); v_foo := acs_sc_impl.new_alias ( 'NotificationType', 'fs_fs_notif_type', 'GetURL', + 'fs::notification::get_url', 'TCL' ); + v_foo := acs_sc_impl.new_alias ( + 'NotificationType', + 'fs_fs_notif_type', + 'ProcessReply', + 'fs::notification::process_reply', + 'TCL' + ); + + acs_sc_binding.new ( contract_name => 'NotificationType', impl_name => 'fs_fs_notif_type' Index: openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a6-5.1.0a7.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a6-5.1.0a7.sql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a6-5.1.0a7.sql 13 Jan 2005 13:58:10 -0000 1.2 +++ openacs-4/packages/file-storage/sql/oracle/upgrade/upgrade-5.1.0a6-5.1.0a7.sql 24 Feb 2005 13:33:18 -0000 1.3 @@ -45,8 +45,7 @@ update cr_revisions set title=v_item_row.name where revision_id=v_item_row.revision_id; - if v_item_row.parent_id = v_prev_parent_id - and v_item_row.title = v_prev_title then + if (select 1 from cr_items where name=v_item_row.title and parent_id = v_item_row.parent_id) then --Name collision: change file.ext to file.n.ext Index: openacs-4/packages/file-storage/sql/postgresql/upgrade/upgrade-5.1.0a6-5.1.0a7.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/sql/postgresql/upgrade/upgrade-5.1.0a6-5.1.0a7.sql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/file-storage/sql/postgresql/upgrade/upgrade-5.1.0a6-5.1.0a7.sql 13 Jan 2005 13:58:11 -0000 1.2 +++ openacs-4/packages/file-storage/sql/postgresql/upgrade/upgrade-5.1.0a6-5.1.0a7.sql 24 Feb 2005 13:33:18 -0000 1.3 @@ -50,8 +50,7 @@ update cr_revisions set title=v_item_row.name where revision_id=v_item_row.revision_id; - if v_item_row.parent_id = v_prev_parent_id - and v_item_row.title = v_prev_title then + if (select 1 from cr_items where name=v_item_row.title and parent_id = v_item_row.parent_id) then --Name collision: change file.ext to file.n.ext Index: openacs-4/packages/file-storage/tcl/file-storage-dav-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/tcl/file-storage-dav-procs.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/file-storage/tcl/file-storage-dav-procs.tcl 13 Jan 2005 13:58:11 -0000 1.8 +++ openacs-4/packages/file-storage/tcl/file-storage-dav-procs.tcl 24 Feb 2005 13:33:19 -0000 1.9 @@ -75,7 +75,7 @@ set response [list 204] } - + file delete $tmp_filename return $response } Index: openacs-4/packages/file-storage/www/file-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/file-add.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/file-storage/www/file-add.tcl 13 Jan 2005 13:58:13 -0000 1.11 +++ openacs-4/packages/file-storage/www/file-add.tcl 24 Feb 2005 13:33:19 -0000 1.12 @@ -153,19 +153,14 @@ -title $this_title \ -description $description \ -package_id $package_id - incr i - ns_log notice " -DB -------------------------------------------------------------------------------- -DB DAVE debugging /var/lib/aolserver/openacs-5-1/packages/file-storage/www/file-add.tcl -DB -------------------------------------------------------------------------------- -DB i = '${i}' -DB number_upload_files = '${number_upload_files}' -DB --------------------------------------------------------------------------------" + + file delete $tmpfile + incr i if {$i < $number_upload_files} { set file_id [db_nextval "acs_object_id_seq"] } } - + file delete $upload_file.tmpfile } -edit_data { fs::add_version \ Index: openacs-4/packages/forums/forums.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/forums.info,v diff -u -r1.30 -r1.31 --- openacs-4/packages/forums/forums.info 13 Jan 2005 13:58:14 -0000 1.30 +++ openacs-4/packages/forums/forums.info 24 Feb 2005 13:33:19 -0000 1.31 @@ -7,14 +7,14 @@ f f - + OpenACS Online discussion forums. 2003-11-10 OpenACS This online discussion board software is the successor of the original bboard package. The biggest improvement is a scalable datamodel. Forums supports threaded and flat view, moderation, a stand alone search function as well as integration with the OpenACS search package and integration with the notifications package for email alerts. It also supports reply via email. - + Index: openacs-4/packages/forums/catalog/forums.es_ES.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.es_ES.ISO-8859-1.xml,v diff -u -r1.12 -r1.13 --- openacs-4/packages/forums/catalog/forums.es_ES.ISO-8859-1.xml 13 Jan 2005 13:58:14 -0000 1.12 +++ openacs-4/packages/forums/catalog/forums.es_ES.ISO-8859-1.xml 24 Feb 2005 13:33:19 -0000 1.13 @@ -83,7 +83,7 @@ Ninguno Un Mensaje Un hilo - Abrir + abierto Par�metros ID del padre Pendientes Index: openacs-4/packages/forums/catalog/forums.es_GT.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/catalog/forums.es_GT.ISO-8859-1.xml,v diff -u -r1.3 -r1.4 --- openacs-4/packages/forums/catalog/forums.es_GT.ISO-8859-1.xml 13 Jan 2005 13:58:14 -0000 1.3 +++ openacs-4/packages/forums/catalog/forums.es_GT.ISO-8859-1.xml 24 Feb 2005 13:33:19 -0000 1.4 @@ -83,7 +83,7 @@ Ninguno Un Mensaje Un hilo - abrir + abierto Par�metros ID del padre Pendientes Index: openacs-4/packages/forums/lib/forums/forums-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/forums/forums-chunk.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/forums/lib/forums/forums-chunk.tcl 24 Jan 2004 13:31:50 -0000 1.3 +++ openacs-4/packages/forums/lib/forums/forums-chunk.tcl 24 Feb 2005 13:33:19 -0000 1.4 @@ -44,6 +44,7 @@ } charter { label {\#forums.Charter\#} + display_template {@forums.charter;noquote@} } n_threads { label {\#forums.Threads\#} Index: openacs-4/packages/forums/lib/message/thread-chunk-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums/lib/message/thread-chunk-postgresql.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/forums/lib/message/thread-chunk-postgresql.xql 27 Jan 2005 16:08:31 -0000 1.3 +++ openacs-4/packages/forums/lib/message/thread-chunk-postgresql.xql 24 Feb 2005 13:33:19 -0000 1.4 @@ -5,13 +5,12 @@ - select fma.message_id - from forums_messages fm, - forums_messages_approved fma - where fm.message_id = :root_message_id - and fma.forum_id = :forum_id - and fma.tree_sortkey between fm.tree_sortkey and tree_right(fm.tree_sortkey) - order by fma.message_id + SELECT fma.message_id + FROM forums_messages_approved fma + WHERE fma.forum_id = :forum_id + and fma.tree_sortkey between (select fm.tree_sortkey from forums_messages fm where fm.message_id = :root_message_id) + and (select tree_right(fm.tree_sortkey) from forums_messages fm where fm.message_id = :root_message_id) + ORDER BY fma.message_id Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/oracle/upgrade/upgrade-1.1.1-1.1.2d1.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/forums/sql/postgresql/upgrade/upgrade-1.1.1-1.1.2d1.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/forums-portlet/forums-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums-portlet/forums-portlet.info,v diff -u -r1.8 -r1.9 --- openacs-4/packages/forums-portlet/forums-portlet.info 13 Jan 2005 13:58:17 -0000 1.8 +++ openacs-4/packages/forums-portlet/forums-portlet.info 24 Feb 2005 13:33:20 -0000 1.9 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/forums-portlet/www/forums-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/forums-portlet/www/forums-portlet.adp,v diff -u -r1.16 -r1.17 --- openacs-4/packages/forums-portlet/www/forums-portlet.adp 19 Sep 2004 01:02:13 -0000 1.16 +++ openacs-4/packages/forums-portlet/www/forums-portlet.adp 24 Feb 2005 13:33:20 -0000 1.17 @@ -50,3 +50,4 @@ + Index: openacs-4/packages/fs-portlet/fs-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/fs-portlet/fs-portlet.info,v diff -u -r1.17 -r1.18 --- openacs-4/packages/fs-portlet/fs-portlet.info 13 Jan 2005 13:58:19 -0000 1.17 +++ openacs-4/packages/fs-portlet/fs-portlet.info 24 Feb 2005 13:33:20 -0000 1.18 @@ -6,17 +6,18 @@ File Storage Portlets f t - - + + OpenACS 2004-03-10 OpenACS - + + Index: openacs-4/packages/fs-portlet/www/fs-admin-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/fs-portlet/www/fs-admin-portlet.adp,v diff -u -r1.3 -r1.4 --- openacs-4/packages/fs-portlet/www/fs-admin-portlet.adp 13 Jan 2005 13:58:20 -0000 1.3 +++ openacs-4/packages/fs-portlet/www/fs-admin-portlet.adp 24 Feb 2005 13:33:20 -0000 1.4 @@ -21,5 +21,5 @@ Index: openacs-4/packages/fs-portlet/www/fs-admin-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/fs-portlet/www/fs-admin-portlet.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/fs-portlet/www/fs-admin-portlet.tcl 13 Jan 2005 13:58:20 -0000 1.3 +++ openacs-4/packages/fs-portlet/www/fs-admin-portlet.tcl 24 Feb 2005 13:33:20 -0000 1.4 @@ -39,4 +39,5 @@ ad_return_template set package_id [site_node_apm_integration::get_child_package_id -package_key "file-storage"] -set fs_url "/shared/parameters?[export_url_vars package_id return_url]" \ No newline at end of file +set fs_url "/shared/parameters?[export_url_vars package_id return_url]" +set show_fs_url_p [parameter::get_from_package_key -parameter ShowParametersLinkP -package_key [fs_portlet::my_package_key] -default 1] Index: openacs-4/packages/general-comments/general-comments.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/general-comments.info,v diff -u -r1.12 -r1.13 --- openacs-4/packages/general-comments/general-comments.info 13 Jan 2005 13:58:21 -0000 1.12 +++ openacs-4/packages/general-comments/general-comments.info 24 Feb 2005 13:33:20 -0000 1.13 @@ -8,15 +8,15 @@ t comments - + Don Baccus Dave Bauer Service to provide comment entry and display on objects. 2004-11-29 OpenACS General comments provides the widgets and UI to support commentability on any object. There is also an admin interface to edit/hide/delete comments. - + Index: openacs-4/packages/lars-blogger/lars-blogger.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/lars-blogger.info,v diff -u -r1.38 -r1.39 --- openacs-4/packages/lars-blogger/lars-blogger.info 23 Feb 2005 15:28:57 -0000 1.38 +++ openacs-4/packages/lars-blogger/lars-blogger.info 24 Feb 2005 13:33:21 -0000 1.39 @@ -7,14 +7,14 @@ f f - + Lars Pind Individual or collaborative web logs. 2004-02-11 Collaboraid Weblog creation and management with notifications, RSS, trackpack, technorati, blogroll, pings, archives, draft and published entries, includable templates for presenting on other pages, and permissioning for multiple users. - + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/lars-blogger/lib/blog-titles-oracle.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/lars-blogger/lib/blog-titles-postgresql.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/lars-blogger/lib/blog-titles.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/lars-blogger/lib/blog-titles.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/lars-blogger/lib/blog-titles.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/lors/catalog/lors.es_ES.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/lors/catalog/lors.es_GT.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/lorsm/lorsm.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/lorsm.info,v diff -u -r1.5 -r1.6 --- openacs-4/packages/lorsm/lorsm.info 30 Nov 2004 08:14:08 -0000 1.5 +++ openacs-4/packages/lorsm/lorsm.info 24 Feb 2005 13:33:21 -0000 1.6 @@ -8,13 +8,13 @@ f lorsm - + Ernie Ghiglione Application to manage the services from the Learning Object Repository. - 2004-06-19 + 2005-01-19 This application manages the services from the Learning Object Repository: upload courses, manage and create metadata, delete resources and courses. - + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/lorsm/catalog/lorsm.es_ES.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/lorsm/catalog/lorsm.es_GT.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/lorsm/templates/lorsm-default.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/templates/lorsm-default.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/lorsm/templates/lorsm-default.tcl 21 Jan 2005 23:27:54 -0000 1.3 +++ openacs-4/packages/lorsm/templates/lorsm-default.tcl 24 Feb 2005 13:33:21 -0000 1.4 @@ -23,7 +23,7 @@ set text [cr_write_content -string -revision_id $revision_id] - if { ![string equal "text/html" $content(mime_type)] && ![string equal "text/xml" $content(mime_type)] } { + if { ![string equal "text/html" $content(mime_type)] && ![string equal "text/xml" $content(mime_type)] } { set text [ad_html_text_convert -from $mime_type -to text/html $text] } } Index: openacs-4/packages/lorsm/www/enabler.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/Attic/enabler.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/lorsm/www/enabler.tcl 3 Dec 2004 17:52:49 -0000 1.3 +++ openacs-4/packages/lorsm/www/enabler.tcl 24 Feb 2005 13:33:21 -0000 1.4 @@ -26,7 +26,7 @@ # Permissions dotlrn::require_user_admin_community -user_id $user_id -community_id $community_id -set title "[_ lorsm.Set_Course_Trackable]" +set title [list "[_ lorsm.Set_Course_Trackable]"] set context [list "[_ lorsm.Set_Course_Status]"] ad_form -name enabler \ @@ -41,7 +41,7 @@ {label "[_ lorsm.Current_Status]"} } {enable:text(radio) - {label [_ lorsm.Status_3]} + {label "[_ lorsm.Status_3]"} {options {{"[_ lorsm.Enable]" t} {"[_ lorsm.Disable]" f}}} } } -select_query { Index: openacs-4/packages/lorsm/www/delivery/body.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/delivery/body.adp,v diff -u -r1.4 -r1.5 --- openacs-4/packages/lorsm/www/delivery/body.adp 10 Dec 2004 19:12:54 -0000 1.4 +++ openacs-4/packages/lorsm/www/delivery/body.adp 24 Feb 2005 13:33:22 -0000 1.5 @@ -14,7 +14,7 @@ #lorsm.Your_Stats#
    - #lorsm.lt_You_have_seen_this_co# x #lorsm.lt_number_of_times_and_h# @viewed_percent@ % #lorsm.of_the_content# + #lorsm.lt_You_have_seen_this_co# @viewed_times@ #lorsm.lt_number_of_times_and_h# @viewed_percent@ % #lorsm.of_the_content#

    Index: openacs-4/packages/lorsm/www/delivery/body.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/delivery/body.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/lorsm/www/delivery/body.tcl 3 Dec 2004 17:52:49 -0000 1.3 +++ openacs-4/packages/lorsm/www/delivery/body.tcl 24 Feb 2005 13:33:22 -0000 1.4 @@ -16,6 +16,7 @@ } set user_id [ad_conn user_id] +set community_id [dotlrn_community::get_community_id] db_0or1row get_last_viewed { select item_id as imsitem_id, coalesce(acs_object__name(object_id),'Item '||object_id) as last_page_viewed from views v, @@ -41,11 +42,20 @@ select v.object_id from views v where v.viewer_id = :user_id - and v.object_id in ([join $all_items ,]) + and v.object_id in ([join $all_items ,]) "] set viewed_item_count [llength $viewed_items] set viewed_percent [lc_numeric [expr [expr $viewed_item_count * 1.00] / $total_item_count * 100] "%.2f"] +#Get times viewed + +set viewed_times [db_string select_viewed_times " + select count(*) + from lorsm_student_track + where community_id = :community_id + and course_id = :man_id + and user_id = :user_id "] + # Get the course name if {[db_0or1row manifest " select Index: openacs-4/packages/lorsm/www/md/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/md/Attic/index.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/lorsm/www/md/index.tcl 3 Dec 2004 17:52:51 -0000 1.4 +++ openacs-4/packages/lorsm/www/md/index.tcl 24 Feb 2005 13:33:22 -0000 1.5 @@ -11,7 +11,7 @@ # set context set context [list "[_ lorsm.IMS_Metadata_Editor]"] -set title "<#_ IMS Metadata Editor \>" +set title [list "[_ lorsm.IMS_Metadata_Editor]"] set link [export_vars -base "md_upload" ims_md_id] set hasmetadata [lors::imsmd::mdExist -ims_md_id $ims_md_id] Index: openacs-4/packages/lorsm/www/shared/course-info.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/shared/Attic/course-info.adp,v diff -u -r1.3 -r1.4 --- openacs-4/packages/lorsm/www/shared/course-info.adp 3 Dec 2004 17:52:54 -0000 1.3 +++ openacs-4/packages/lorsm/www/shared/course-info.adp 24 Feb 2005 13:33:22 -0000 1.4 @@ -49,7 +49,7 @@

    - +
    - <#Is_SCORM_? Is SCORM?:#> + #lorsm.Is_SCORM# Index: openacs-4/packages/lorsm/www/tracking/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/tracking/Attic/index.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/lorsm/www/tracking/index.tcl 3 Dec 2004 17:52:54 -0000 1.4 +++ openacs-4/packages/lorsm/www/tracking/index.tcl 24 Feb 2005 13:33:22 -0000 1.5 @@ -27,8 +27,8 @@ # Permissions dotlrn::require_user_admin_community -user_id [ad_conn user_id] -community_id $community_id -set title "[_ lorsm.Student_Tracking]" -set context {[_ lorsm.Tracking_1]} +set title [list "[_ lorsm.Student_Tracking]"] +set context [list "[_ lorsm.Tracking_1]"] if {![exists_and_not_null group]} { set group 1 Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/lorsm-portlet/catalog/lorsm-portlet.es_ES.ISO-8859-1.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/new-portal/new-portal.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/new-portal.info,v diff -u -r1.26 -r1.27 --- openacs-4/packages/new-portal/new-portal.info 13 Jan 2005 13:58:23 -0000 1.26 +++ openacs-4/packages/new-portal/new-portal.info 24 Feb 2005 13:33:23 -0000 1.27 @@ -8,14 +8,14 @@ t portal - + OpenACS Portals. 2004-03-10 OpenACS New Portal Package aka NPP. Portals are used to aggregate content from different sources within a single page. Props to Ian Baker for "Portal". - + Index: openacs-4/packages/news/news.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/news.info,v diff -u -r1.15 -r1.16 --- openacs-4/packages/news/news.info 3 Feb 2005 00:15:27 -0000 1.15 +++ openacs-4/packages/news/news.info 24 Feb 2005 13:33:23 -0000 1.16 @@ -7,22 +7,26 @@ f f - + OpenACS Used for announcements and news items. 2003-11-10 OpenACS News publication tool. Publication of plain text or html news items with support for scheduled publication and commentability. - + + - - + + + + + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/news/tcl/news-apm-callback-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/news/tcl/news-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/tcl/news-procs-oracle.xql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/news/tcl/news-procs-oracle.xql 30 Sep 2003 12:10:08 -0000 1.4 +++ openacs-4/packages/news/tcl/news-procs-oracle.xql 24 Feb 2005 13:33:23 -0000 1.5 @@ -49,5 +49,29 @@ + + + + select * from ( + select cn.*, + ci.item_id, + cr.content, + cr.title, + cr.mime_type, + cr.description, + to_char(o.last_modified, 'YYYY-MM-DD HH24:MI:SS') as last_modified + from cr_news cn, + cr_revisions cr, + cr_items ci, + acs_objects o + where cn.package_id=:summary_context_id + and cr.revision_id=cn.news_id + and cn.news_id=o.object_id + and cr.item_id=ci.item_id + and cr.revision_id=ci.live_revision + order by o.last_modified desc + ) where rownum <= $limit + + Index: openacs-4/packages/news/tcl/news-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/tcl/news-procs-postgresql.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/news/tcl/news-procs-postgresql.xql 30 Nov 2002 17:39:09 -0000 1.3 +++ openacs-4/packages/news/tcl/news-procs-postgresql.xql 24 Feb 2005 13:33:23 -0000 1.4 @@ -44,5 +44,27 @@ + + + select cn.*, + ci.item_id, + cr.content, + cr.title, + cr.mime_type, + cr.description, + to_char(o.last_modified, 'YYYY-MM-DD HH24:MI:SS') as last_modified + from cr_news cn, + cr_revisions cr, + cr_items ci, + acs_objects o + where cn.package_id=:summary_context_id + and cr.revision_id=cn.news_id + and cn.news_id=o.object_id + and cr.item_id=ci.item_id + and cr.revision_id=ci.live_revision + order by o.last_modified desc + limit $limit + + Index: openacs-4/packages/news/tcl/news-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/tcl/news-procs.tcl,v diff -u -r1.15 -r1.16 --- openacs-4/packages/news/tcl/news-procs.tcl 3 Feb 2005 00:15:27 -0000 1.15 +++ openacs-4/packages/news/tcl/news-procs.tcl 24 Feb 2005 13:33:23 -0000 1.16 @@ -191,3 +191,98 @@ acs_sc::impl::new_from_spec -spec $spec } + + +ad_proc -public news__last_updated { + package_id +} { + + Return the timestamp of the most recent item in this news instance + + @author Dave Bauer (dave@thedesignexperience.org) + @creation-date 2005-01-22 + + @param package_id + + @return + + @error +} { + return [db_string get_last_updated ""] +} + +ad_proc -private news__rss_datasource { + summary_context_id +} { + This procedure implements the "datasource" operation of the + RssGenerationSubscriber service contract. + + @author Dave Bauer (dave@thedesignexperience.org) +} { + # TODO make limit a parameter + set limit 15 + + set items [list] + set counter 0 + set package_url [news_util_get_url $summary_context_id] + db_foreach get_news_items {} { + set entry_url [export_vars -base "[ad_url]${package_url}item" {item_id}] + + set content_as_text [ad_html_text_convert -from $mime_type -to text/plain $content] + # for now, support only full content in feed + set description $content_as_text + + # Always convert timestamp to GMT + set entry_date_ansi [lc_time_tz_convert -from [lang::system::timezone] -to "Etc/GMT" -time_value $last_modified] + set entry_timestamp "[clock format [clock scan $entry_date_ansi] -format "%a, %d %b %Y %H:%M:%S"] GMT" + + lappend items [list \ + link $entry_url \ + title $title \ + description $description \ + value $content_as_text \ + timestamp $entry_timestamp] + + if { $counter == 0 } { + set column_array(channel_lastBuildDate) $entry_timestamp + incr counter + } + } + set column_array(channel_title) "News" + set column_array(channel_description) "News" + set column_array(items) $items + set column_array(channel_language) "" + set column_array(channel_copyright) "" + set column_array(channel_managingEditor) "" + set column_array(channel_webMaster) "" + set column_array(channel_rating) "" + set column_array(channel_skipDays) "" + set column_array(channel_skipHours) "" + set column_array(version) 2.0 + set column_array(image) "" + set column_array(channel_link) "$package_url" + return [array get column_array] +} + +ad_proc -private news_update_rss { + -summary_context_id +} { + + Regenerate RSS feed + + @author Dave Bauer (dave@thedesignexperience.org) + @creation-date 2005-02-04 + + @param summary_context_id + + @return + + @error +} { + set subscr_id [rss_support::get_subscr_id \ + -summary_context_id $summary_context_id \ + -impl_name "news" \ + -owner "news"] + rss_gen_report $subscr_id +} + Index: openacs-4/packages/news/tcl/news-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/tcl/news-procs.xql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/news/tcl/news-procs.xql 13 May 2003 08:11:52 -0000 1.4 +++ openacs-4/packages/news/tcl/news-procs.xql 24 Feb 2005 13:33:23 -0000 1.5 @@ -20,4 +20,13 @@ + + + select max(o.last_modified) + from acs_objects o, cr_news n + where n.package_id=:package_id + and o.object_id=n.news_id + + + Index: openacs-4/packages/news/www/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/index.adp,v diff -u -r1.11 -r1.12 --- openacs-4/packages/news/www/index.adp 2 Feb 2005 23:30:49 -0000 1.11 +++ openacs-4/packages/news/www/index.adp 24 Feb 2005 13:33:23 -0000 1.12 @@ -25,7 +25,10 @@
  • @news_items.publish_date@: @news_items.publish_title@
  • - + +

    #rss-support.Syndication_Feed# Subscribe via RSS

    +

    @pagination_link;noquote@

    Index: openacs-4/packages/news/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/index.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/news/www/index.tcl 17 May 2003 10:50:25 -0000 1.11 +++ openacs-4/packages/news/www/index.tcl 24 Feb 2005 13:33:23 -0000 1.12 @@ -120,7 +120,10 @@ } set pagination_link "$prev_start$divider$next_start" - +set rss_exists [rss_support::subscription_exists \ + -summary_context_id $package_id \ + -impl_name news] +set rss_url "[news_util_get_url $package_id]rss/rss.xml" ad_return_template Index: openacs-4/packages/news/www/item-create-3.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/item-create-3.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/news/www/item-create-3.tcl 29 Oct 2002 08:01:14 -0000 1.6 +++ openacs-4/packages/news/www/item-create-3.tcl 24 Feb 2005 13:33:23 -0000 1.7 @@ -40,7 +40,7 @@ set approval_ip [ad_conn "peeraddr"] set approval_date [dt_sysdate] set live_revision_p "t" - + } else { set approval_user [db_null] @@ -102,6 +102,8 @@ returning content into :1" -blobs [list $publish_body] } + #update RSS if it is enabled + if { !$news_admin_p } { if { ![string equal "open" [ad_parameter ApprovalPolicy "news" "wait"]] } { @@ -116,4 +118,10 @@ ad_returnredirect "" } - +if {$live_revision_p \ + && [rss_support::subscription_exists \ + -summary_context_id $package_id \ + -impl_name news]} { + news_update_rss -summary_context_id $package_id + } +} Index: openacs-4/packages/news/www/admin/approve-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/admin/approve-2.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/news/www/admin/approve-2.tcl 29 Oct 2002 08:01:15 -0000 1.3 +++ openacs-4/packages/news/www/admin/approve-2.tcl 24 Feb 2005 13:33:23 -0000 1.4 @@ -63,8 +63,12 @@ } } - - +set package_id [ad_conn package_id] +if {[rss_support::subscription_exists \ + -summary_context_id $package_id \ + -impl_name news]} { + news_update_rss -summary_context_id $package_id +} ad_returnredirect "$return_url" Index: openacs-4/packages/news/www/admin/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/admin/index.adp,v diff -u -r1.12 -r1.13 --- openacs-4/packages/news/www/admin/index.adp 22 Oct 2003 16:12:39 -0000 1.12 +++ openacs-4/packages/news/www/admin/index.adp 24 Feb 2005 13:33:23 -0000 1.13 @@ -5,7 +5,10 @@ +
  • #rss-support.Rss_feed_active# [#rss-support.Remove_feed#]#rss-support.Rss_feed_inactive#[ + #rss-support.Create_feed#] +

    Index: openacs-4/packages/news/www/admin/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/admin/index.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/news/www/admin/index.tcl 22 Oct 2003 16:12:39 -0000 1.7 +++ openacs-4/packages/news/www/admin/index.tcl 24 Feb 2005 13:33:23 -0000 1.8 @@ -72,3 +72,8 @@ -status $status] } +set rss_exists [rss_support::subscription_exists \ + -summary_context_id $package_id \ + -impl_name news] +set rss_feed_url [news_util_get_url $package_id]rss/rss.xml + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/news/www/admin/rss.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/news-aggregator-portlet/news-aggregator-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator-portlet/news-aggregator-portlet.info,v diff -u -r1.5 -r1.6 --- openacs-4/packages/news-aggregator-portlet/news-aggregator-portlet.info 13 Jan 2005 13:58:28 -0000 1.5 +++ openacs-4/packages/news-aggregator-portlet/news-aggregator-portlet.info 24 Feb 2005 13:33:24 -0000 1.6 @@ -7,12 +7,12 @@ f t - + Simon Carstensen 2003-05-15

    A portlet interface to News Aggregator - + Index: openacs-4/packages/news-portlet/news-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-portlet/news-portlet.info,v diff -u -r1.15 -r1.16 --- openacs-4/packages/news-portlet/news-portlet.info 13 Jan 2005 13:58:29 -0000 1.15 +++ openacs-4/packages/news-portlet/news-portlet.info 24 Feb 2005 13:33:24 -0000 1.16 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/notifications/notifications.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/notifications/notifications.info,v diff -u -r1.28 -r1.29 --- openacs-4/packages/notifications/notifications.info 13 Jan 2005 13:58:31 -0000 1.28 +++ openacs-4/packages/notifications/notifications.info 24 Feb 2005 13:33:24 -0000 1.29 @@ -8,14 +8,14 @@ t notifications - + OpenACS Email notifications management 2003-11-07 OpenACS Provides an API for packages to provide subscription based email notifications and handle replies. Used by forums, bug-tracker, etc. The currently prefered package for email notifications. - + Index: openacs-4/packages/oacs-dav/oacs-dav.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/oacs-dav/oacs-dav.info,v diff -u -r1.7 -r1.8 --- openacs-4/packages/oacs-dav/oacs-dav.info 13 Jan 2005 13:58:34 -0000 1.7 +++ openacs-4/packages/oacs-dav/oacs-dav.info 24 Feb 2005 13:33:24 -0000 1.8 @@ -8,14 +8,14 @@ t webdav-support - + Dave Bauer Provides services to enable webDAV access to content repository items. 2004-09-27 OpenACS An interface to the tDAV webDAV package. oacs-dav provides services to offer webDAV access to content repository data. - + Index: openacs-4/packages/oacs-dav/tcl/oacs-dav-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/oacs-dav/tcl/oacs-dav-procs.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/oacs-dav/tcl/oacs-dav-procs.tcl 13 Jan 2005 13:58:35 -0000 1.11 +++ openacs-4/packages/oacs-dav/tcl/oacs-dav-procs.tcl 24 Feb 2005 13:33:24 -0000 1.12 @@ -158,10 +158,14 @@ -object_id $item_id \ -party_id $user_id \ -privilege "read"] \ - && [permission::permission_p \ + && ([permission::permission_p \ -object_id [oacs_dav::conn dest_parent_id ] \ -party_id $user_id \ - -privilege "create"] ] + -privilege "create"] \ + || [permission::perission_p \ + -object_id [oacs_dav::conn dest_parent_id ] \ + -party_id $user_id \ + -privilege "write"])] } propfind { if {!$user_id} { @@ -964,7 +968,7 @@ set response [list 500] ns_log error "oacs_dav::impl::content_revision::put: $errmsg" } - + file delete $tmp_filename # at least we need to return the http_status return $response Index: openacs-4/packages/photo-album-portlet/tcl/photo-album-admin-portlet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/photo-album-portlet/tcl/photo-album-admin-portlet-procs.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/photo-album-portlet/tcl/photo-album-admin-portlet-procs.tcl 15 Oct 2003 08:09:20 -0000 1.1 +++ openacs-4/packages/photo-album-portlet/tcl/photo-album-admin-portlet-procs.tcl 24 Feb 2005 13:33:24 -0000 1.2 @@ -18,7 +18,7 @@ ad_proc -public photo_album_admin_portlet::get_pretty_name { } { - return "Photo Album Administration" + return "[_ photo-album-portlet.Administration]" } Index: openacs-4/packages/photo-album-portlet/tcl/photo-album-portlet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/photo-album-portlet/tcl/photo-album-portlet-procs.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/photo-album-portlet/tcl/photo-album-portlet-procs.tcl 15 Oct 2003 08:09:20 -0000 1.1 +++ openacs-4/packages/photo-album-portlet/tcl/photo-album-portlet-procs.tcl 24 Feb 2005 13:33:24 -0000 1.2 @@ -25,7 +25,7 @@ ad_proc -public photo_album_portlet::get_pretty_name { } { - return "Photo Album" + return "[_ photo-album-portlet.Photo_Album]" } Index: openacs-4/packages/photo-album-portlet/www/photo-album-admin-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/photo-album-portlet/www/photo-album-admin-portlet.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/photo-album-portlet/www/photo-album-admin-portlet.adp 15 Oct 2003 08:09:20 -0000 1.1 +++ openacs-4/packages/photo-album-portlet/www/photo-album-admin-portlet.adp 24 Feb 2005 13:33:24 -0000 1.2 @@ -1,6 +1,7 @@ + Index: openacs-4/packages/photo-album-portlet/www/photo-album-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/photo-album-portlet/www/photo-album-portlet.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/photo-album-portlet/www/photo-album-portlet.adp 15 Oct 2003 08:09:20 -0000 1.1 +++ openacs-4/packages/photo-album-portlet/www/photo-album-portlet.adp 24 Feb 2005 13:33:24 -0000 1.2 @@ -2,6 +2,7 @@ - Add photos + #photo-album-portlet.Add_photos# + Index: openacs-4/packages/profile-provider/profile-provider.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/profile-provider/profile-provider.info,v diff -u -r1.8 -r1.9 --- openacs-4/packages/profile-provider/profile-provider.info 13 Jan 2005 13:58:37 -0000 1.8 +++ openacs-4/packages/profile-provider/profile-provider.info 24 Feb 2005 13:33:25 -0000 1.9 @@ -7,12 +7,12 @@ f t - + OpenACS OpenACS 2004-03-10 - + Index: openacs-4/packages/robot-detection/tcl/robot-detection-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/robot-detection/tcl/robot-detection-procs-postgresql.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/robot-detection/tcl/robot-detection-procs-postgresql.xql 17 May 2003 11:16:04 -0000 1.3 +++ openacs-4/packages/robot-detection/tcl/robot-detection-procs-postgresql.xql 24 Feb 2005 13:33:25 -0000 1.4 @@ -4,7 +4,7 @@ - select trunc(current_timestamp - max(coalesce(modified_date, insertion_date))) from robots + select date_part('days',current_timestamp - max(coalesce(modified_date,insertion_date))) from robots Index: openacs-4/packages/rss-support/rss-support.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/rss-support.info,v diff -u -r1.14 -r1.15 --- openacs-4/packages/rss-support/rss-support.info 13 Jan 2005 13:58:39 -0000 1.14 +++ openacs-4/packages/rss-support/rss-support.info 24 Feb 2005 13:33:25 -0000 1.15 @@ -8,7 +8,7 @@ t rss-support - + Dave Bauer Jerry Asher Andrew Grumet @@ -32,7 +32,7 @@ </ul> - + Index: openacs-4/packages/rss-support/sql/postgresql/rss-generation-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/sql/postgresql/rss-generation-create.sql,v diff -u -r1.11 -r1.12 --- openacs-4/packages/rss-support/sql/postgresql/rss-generation-create.sql 13 Jan 2005 13:58:40 -0000 1.11 +++ openacs-4/packages/rss-support/sql/postgresql/rss-generation-create.sql 24 Feb 2005 13:33:25 -0000 1.12 @@ -164,6 +164,7 @@ Used for display purposes. '; +select define_function_args ('rss_gen_subscr__new','p_subscr_id,p_impl_id,p_summary_context_id,p_timeout,p_lastbuild;now,p_object_type,p_creation_date;now,p_creation_user,p_creation_ip,p_context_id'); create function rss_gen_subscr__new ( integer, -- subscr_id integer, -- impl_id @@ -222,10 +223,11 @@ return ''RSS Generation Subscription #'' || p_subscr_id; end;' language 'plpgsql'; -create function rss_gen_subscr__delete (integer) +select define_function_args('rss_gen_subscr__del','subscr_id'); +create or replace function rss_gen_subscr__del (integer) returns integer as ' declare - p_subscr_id alias for $1; + p_subscr_id alias for $1; begin delete from acs_permissions where object_id = p_subscr_id; @@ -239,3 +241,11 @@ return 0; end;' language 'plpgsql'; + +create or replace function rss_gen_subscr__delete (integer) +returns integer as ' +declare + p_subscr_id alias for $1; +begin + return rss_gen_subscr__del (p_subscr_id); +end;' language 'plpgsql'; Index: openacs-4/packages/rss-support/sql/postgresql/rss-generation-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/sql/postgresql/rss-generation-drop.sql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/rss-support/sql/postgresql/rss-generation-drop.sql 17 May 2003 11:20:27 -0000 1.4 +++ openacs-4/packages/rss-support/sql/postgresql/rss-generation-drop.sql 24 Feb 2005 13:33:25 -0000 1.5 @@ -18,4 +18,5 @@ drop table rss_gen_subscrs; drop function rss_gen_subscr__new (integer,integer,varchar,integer,timestamptz,varchar,timestamptz,integer,varchar,integer); drop function rss_gen_subscr__name (integer); +drop function rss_gen_subscr__del (integer); drop function rss_gen_subscr__delete (integer); Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/rss-support/sql/postgresql/upgrade/upgrade-0.3d4-0.3d5.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/rss-support/sql/postgresql/upgrade/upgrade-0.3d5-0.3d6.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/rss-support/tcl/rss-generation-service-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/tcl/rss-generation-service-procs.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/rss-support/tcl/rss-generation-service-procs.tcl 1 Nov 2003 08:45:39 -0000 1.14 +++ openacs-4/packages/rss-support/tcl/rss-generation-service-procs.tcl 24 Feb 2005 13:33:25 -0000 1.15 @@ -45,7 +45,12 @@ ns_log Error "Empty datasource returned from $impl_name for context $summary_context_id in rss_gen_report. Probably because the implementation hasn't been bound." return } - + ns_log notice " +DB -------------------------------------------------------------------------------- +DB DAVE debugging procedure rss_gen_report +DB -------------------------------------------------------------------------------- +DB datasource = '${datasource}' +DB --------------------------------------------------------------------------------" set args "" foreach {name val} $datasource { regsub -all {[\]\[\{\}""\\$]} $val {\\&} val Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/rss-support/tcl/rss-support-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/rss-support/tcl/rss-support-procs.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/sample-gateway/tcl/sample-gateway-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/sample-gateway/tcl/sample-gateway-procs.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/sample-gateway/tcl/sample-gateway-procs.tcl 5 Jun 2002 02:32:58 -0000 1.1 +++ openacs-4/packages/sample-gateway/tcl/sample-gateway-procs.tcl 24 Feb 2005 13:33:25 -0000 1.2 @@ -16,9 +16,9 @@ @author Janine Sisk; furfly.net, LLC (janine@furfly.net) } { if [catch {db_dml do-insert "insert into sample_gateway_result_log -(transaction_id, txn_attempted_type, txn_attempted_time, txn_returned_type, errmsg, auth_code, avs_code_zip, avs_code_addr, amount) +(transaction_id, txn_attempted_type, txn_attempted_time, txn_returned_type, errmsg, auth_code, amount) values -(:transaction_id, :txn_attempted_type, :txn_attempted_time, :txn_returned_type, :errmsg, :auth_code, :avs_code_zip, :avs_code_addr, :amount)"} errmsg] { +(:transaction_id, :txn_attempted_type, :txn_attempted_time, :txn_returned_type, :errmsg, :auth_code, :amount)"} errmsg] { ns_log Error "Wasn't able to do insert into sample_gateway_result_log for transaction_id $transaction_id; error was $errmsg" } } @@ -70,7 +70,7 @@ # out whether they can be considered authorized if they fail AVS set return_values(response_code) [nsv_get payment_gateway_return_codes success] set return_values(reason) "" - set return_values(transaction_id) "" + set return_values(transaction_id) $transaction_id return [array get return_values] } Index: openacs-4/packages/static-portlet/static-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/static-portlet/static-portlet.info,v diff -u -r1.16 -r1.17 --- openacs-4/packages/static-portlet/static-portlet.info 13 Jan 2005 13:58:42 -0000 1.16 +++ openacs-4/packages/static-portlet/static-portlet.info 24 Feb 2005 13:33:26 -0000 1.17 @@ -7,12 +7,12 @@ f f - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/survey/survey.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/survey/survey.info,v diff -u -r1.12 -r1.13 --- openacs-4/packages/survey/survey.info 13 Jan 2005 13:58:43 -0000 1.12 +++ openacs-4/packages/survey/survey.info 24 Feb 2005 13:33:26 -0000 1.13 @@ -7,14 +7,14 @@ f f - + Dave Bauer Luke Pond User defined surveys with reporting. OpenACS Expanded functionality survey package derived from simple-survey. - + Index: openacs-4/packages/survey/www/admin/one-respondent-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/survey/www/admin/one-respondent-oracle.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/survey/www/admin/one-respondent-oracle.xql 13 Jan 2005 13:58:45 -0000 1.3 +++ openacs-4/packages/survey/www/admin/one-respondent-oracle.xql 24 Feb 2005 13:33:26 -0000 1.4 @@ -7,9 +7,7 @@ - select response_id, case when initial_response_id is NULL then 'T' else 'F' e\ -nd as original_p, nvl(initial_response_id,response_id) as initial_response, creatio\ -n_date + select response_id, case when initial_response_id is NULL then 'T' else 'F' end as original_p, nvl(initial_response_id,response_id) as initial_response, creation_date from survey_responses, acs_objects where response_id = object_id and survey_response.initial_user_id(response_id) = :user_id Fisheye: Tag 1.3 refers to a dead (removed) revision in file `openacs-4/packages/survey-library/www/survey/#create-2.tcl#'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.3 refers to a dead (removed) revision in file `openacs-4/packages/survey-library/www/survey/#one.tcl#'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/survey-portlet/survey-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/survey-portlet/survey-portlet.info,v diff -u -r1.4 -r1.5 --- openacs-4/packages/survey-portlet/survey-portlet.info 13 Jan 2005 13:58:50 -0000 1.4 +++ openacs-4/packages/survey-portlet/survey-portlet.info 24 Feb 2005 13:33:26 -0000 1.5 @@ -7,12 +7,12 @@ f t - + dave bauer Survey package portlet for new-portal Survey package portlet for new-portal - + Index: openacs-4/packages/trackback/trackback.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/trackback/trackback.info,v diff -u -r1.5 -r1.6 --- openacs-4/packages/trackback/trackback.info 13 Jan 2005 13:58:51 -0000 1.5 +++ openacs-4/packages/trackback/trackback.info 24 Feb 2005 13:33:26 -0000 1.6 @@ -8,7 +8,7 @@ t tb - + Dave Bauer Support for sending and receiving trackback pings. 2003-09-30 @@ -17,7 +17,7 @@ for use with lars-blogger. - + Index: openacs-4/packages/user-preferences/user-preferences.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/user-preferences/user-preferences.info,v diff -u -r1.9 -r1.10 --- openacs-4/packages/user-preferences/user-preferences.info 13 Jan 2005 13:58:51 -0000 1.9 +++ openacs-4/packages/user-preferences/user-preferences.info 24 Feb 2005 13:33:27 -0000 1.10 @@ -7,7 +7,7 @@ f t - + OpenACS 2004-01-01 Support for user-preference storage Index: openacs-4/packages/user-profile/user-profile.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/user-profile/user-profile.info,v diff -u -r1.8 -r1.9 --- openacs-4/packages/user-profile/user-profile.info 13 Jan 2005 13:58:51 -0000 1.8 +++ openacs-4/packages/user-profile/user-profile.info 24 Feb 2005 13:33:27 -0000 1.9 @@ -7,12 +7,12 @@ f t - + OpenACS 2004-03-10 OpenACS - + Index: openacs-4/packages/weblogger-portlet/weblogger-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/weblogger-portlet/weblogger-portlet.info,v diff -u -r1.4 -r1.5 --- openacs-4/packages/weblogger-portlet/weblogger-portlet.info 10 Nov 2003 16:36:32 -0000 1.4 +++ openacs-4/packages/weblogger-portlet/weblogger-portlet.info 24 Feb 2005 13:33:27 -0000 1.5 @@ -8,12 +8,12 @@ t weblogger-portlet - + Simon Carstensen 2003-11-10 Collaboraid - + Index: openacs-4/packages/weblogger-portlet/tcl/weblogger-admin-portlet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/weblogger-portlet/tcl/weblogger-admin-portlet-procs.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/weblogger-portlet/tcl/weblogger-admin-portlet-procs.tcl 22 Aug 2003 11:18:27 -0000 1.2 +++ openacs-4/packages/weblogger-portlet/tcl/weblogger-admin-portlet-procs.tcl 24 Feb 2005 13:33:27 -0000 1.3 @@ -15,7 +15,7 @@ ad_proc -public weblogger_admin_portlet::get_pretty_name {} { - return "Weblogger Administration" + return "[_ weblogger-portlet.Administration]" } Index: openacs-4/packages/weblogger-portlet/www/weblogger-admin-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/weblogger-portlet/www/weblogger-admin-portlet.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/weblogger-portlet/www/weblogger-admin-portlet.adp 22 Aug 2003 11:18:28 -0000 1.2 +++ openacs-4/packages/weblogger-portlet/www/weblogger-admin-portlet.adp 24 Feb 2005 13:33:27 -0000 1.3 @@ -1,5 +1,6 @@ - + + Index: openacs-4/packages/weblogger-portlet/www/weblogger-admin-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/weblogger-portlet/www/weblogger-admin-portlet.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/weblogger-portlet/www/weblogger-admin-portlet.tcl 22 Aug 2003 11:18:28 -0000 1.2 +++ openacs-4/packages/weblogger-portlet/www/weblogger-admin-portlet.tcl 24 Feb 2005 13:33:27 -0000 1.3 @@ -1,23 +1,23 @@ -# www/weblogger-portlet.tcl -ad_page_contract { - The display logic for the weblogger portlet - - @author Simon Carstensen (simon@bcuni.net) -} -properties { - -} - -array set config $cf -set user_id [ad_conn user_id] -set list_of_package_ids $config(package_id) - -if {[llength $list_of_package_ids] > 1} { - # We have a problem! - return -code error "There should be only one instance of weblogger for admin purposes" -} - -set package_id [lindex $list_of_package_ids 0] - -set url [lindex [site_node::get_url_from_object_id -object_id $package_id] 0] - -ad_return_template +# www/weblogger-portlet.tcl +ad_page_contract { + The display logic for the weblogger portlet + + @author Simon Carstensen (simon@bcuni.net) +} -properties { + +} + +array set config $cf +set user_id [ad_conn user_id] +set list_of_package_ids $config(package_id) + +if {[llength $list_of_package_ids] > 1} { + # We have a problem! + return -code error "There should be only one instance of weblogger for admin purposes" +} + +set package_id [lindex $list_of_package_ids 0] + +set url [lindex [site_node::get_url_from_object_id -object_id $package_id] 0] + +ad_return_template Index: openacs-4/packages/weblogger-portlet/www/weblogger-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/weblogger-portlet/www/weblogger-portlet.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/weblogger-portlet/www/weblogger-portlet.adp 13 Jan 2005 13:58:52 -0000 1.5 +++ openacs-4/packages/weblogger-portlet/www/weblogger-portlet.adp 24 Feb 2005 13:33:27 -0000 1.6 @@ -11,7 +11,7 @@

    @entries.title@
    @entries.content;noquote@ -
    by @entries.poster_first_names@ @entries.poster_last_name@ +
    #weblogger-portlet.lt_by_entriesposter_firs# (@entries.posted_time_pretty@)

  • @@ -20,13 +20,13 @@

    - » Add entry + #weblogger-portlet.raquo# #weblogger-portlet.Add_entry#

    - No Entries + #weblogger-portlet.No_Entries# Index: openacs-4/packages/weblogger-portlet/www/weblogger-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/weblogger-portlet/www/weblogger-portlet.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/weblogger-portlet/www/weblogger-portlet.tcl 7 Nov 2003 17:35:42 -0000 1.4 +++ openacs-4/packages/weblogger-portlet/www/weblogger-portlet.tcl 24 Feb 2005 13:33:27 -0000 1.5 @@ -1,47 +1,47 @@ -# -# /weblogger-portlet/www/weblogger-portlet.tcl -# -# simon@bcuni.net -# -# The logic for the weblogger portlet -# - -ad_page_contract { - The display logic for the weblogger portlet - @author Simon Carstensen (simon@bcuni.net) -} { - item_id:integer,notnull,optional,multiple -} -properties { - -} - -set user_id [ad_conn user_id] -set write_p [ad_permission_p $user_id admin] - -array set config $cf -set shaded_p $config(shaded_p) - -set list_of_package_ids $config(package_id) -set one_instance_p [ad_decode [llength $list_of_package_ids] 1 1 0] - -set read_p 0 -array set package_read_p [list] -array set package_create_p [list] -foreach package_id $config(package_id) { - set package_read_p($package_id) [permission::permission_p -object_id $package_id -privilege read] - set package_create_p($package_id) [permission::permission_p -object_id $package_id -privilege create] - if { $package_read_p($package_id) } { - set read_p 1 - } -} - -db_multirow -extend { view_url add_url } entries entries {} { - if { !$package_read_p($package_id) } { - continue - } - set content [string_truncate -len 100 -- $content] - set view_url "${base_url}one-entry?[export_vars { entry_id }]" - if { $package_create_p($package_id) } { - set add_url "${base_url}entry-edit" - } -} +# +# /weblogger-portlet/www/weblogger-portlet.tcl +# +# simon@bcuni.net +# +# The logic for the weblogger portlet +# + +ad_page_contract { + The display logic for the weblogger portlet + @author Simon Carstensen (simon@bcuni.net) +} { + item_id:integer,notnull,optional,multiple +} -properties { + +} + +set user_id [ad_conn user_id] +set write_p [ad_permission_p $user_id admin] + +array set config $cf +set shaded_p $config(shaded_p) + +set list_of_package_ids $config(package_id) +set one_instance_p [ad_decode [llength $list_of_package_ids] 1 1 0] + +set read_p 0 +array set package_read_p [list] +array set package_create_p [list] +foreach package_id $config(package_id) { + set package_read_p($package_id) [permission::permission_p -object_id $package_id -privilege read] + set package_create_p($package_id) [permission::permission_p -object_id $package_id -privilege create] + if { $package_read_p($package_id) } { + set read_p 1 + } +} + +db_multirow -extend { view_url add_url } entries entries {} { + if { !$package_read_p($package_id) } { + continue + } + set content [string_truncate -len 100 -- $content] + set view_url "${base_url}one-entry?[export_vars { entry_id }]" + if { $package_create_p($package_id) } { + set add_url "${base_url}entry-edit" + } +} Index: openacs-4/packages/workflow/sql/postgresql/upgrade/upgrade-1.2-2.0d1.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/workflow/sql/postgresql/upgrade/upgrade-1.2-2.0d1.sql,v diff -u -r1.13 -r1.14 --- openacs-4/packages/workflow/sql/postgresql/upgrade/upgrade-1.2-2.0d1.sql 30 Jan 2004 09:46:05 -0000 1.13 +++ openacs-4/packages/workflow/sql/postgresql/upgrade/upgrade-1.2-2.0d1.sql 24 Feb 2005 13:33:28 -0000 1.14 @@ -8,6 +8,149 @@ -- Fixing various problems and omissions with the old data model ---------------------------------------------------------------------- +-- Loading old upgrades from other scripts. + +alter table workflows + add description text; + +alter table workflows + add description_mime_type varchar(200); + +alter table workflows + alter column description_mime_type set default 'text/plain'; + +-- +-- Fixes case deletion, which can now be done completely through cascading delete +-- Also adds missing upgrade scripts from that bug fix +-- +-- @author Lars Pind (lars@collaboraid.biz) +-- +-- @cvs-id $Id$ + +create or replace function workflow_case_pkg__delete (integer) +returns integer as ' +declare + delete_case_id alias for $1; + rec record; +begin + -- All workflow data cascades from the case id + delete from workflow_cases + where case_id = delete_case_id; + + return 0; +end;' language 'plpgsql'; + + + +create or replace function workflow_case_log_entry__new ( + integer, -- entry_id + varchar, -- content_type + integer, -- case_id + integer, -- action_id + varchar, -- comment + varchar, -- comment_mime_type + integer, -- creation_user + varchar -- creation_ip +) returns integer as ' +declare + p_item_id alias for $1; + p_content_type alias for $2; + p_case_id alias for $3; + p_action_id alias for $4; + p_comment alias for $5; + p_comment_mime_type alias for $6; + p_creation_user alias for $7; + p_creation_ip alias for $8; + + v_name varchar; + v_action_short_name varchar; + v_action_pretty_past_tense varchar; + v_case_object_id integer; + v_item_id integer; + v_revision_id integer; +begin + select short_name, pretty_past_tense + into v_action_short_name, v_action_pretty_past_tense + from workflow_actions + where action_id = p_action_id; + + -- use case object as context_id + select object_id + into v_case_object_id + from workflow_cases + where case_id = p_case_id; + + -- build the unique name + if p_item_id is not null then + v_item_id := p_item_id; + else + select nextval + into v_item_id + from acs_object_id_seq; + end if; + v_name := v_action_short_name || '' '' || v_item_id; + + v_item_id := content_item__new ( + v_item_id, -- item_id + v_name, -- name + v_case_object_id, -- parent_id + v_action_pretty_past_tense, -- title + now(), -- creation_date + p_creation_user, -- creation_user + v_case_object_id, -- context_id + p_creation_ip, -- creation_ip + ''t'', -- is_live + p_comment_mime_type, -- mime_type + p_comment, -- text + ''text'', -- storage_type + ''t'', -- security_inherit_p + ''CR_FILES'', -- storage_area_key + ''content_item'', -- item_subtype + p_content_type -- content_type + ); + + -- insert the row into the single-column entry revision table + select content_item__get_live_revision (v_item_id) + into v_revision_id; + + insert into workflow_case_log_rev (entry_rev_id) + values (v_revision_id); + + -- insert into workflow-case-log + insert into workflow_case_log (entry_id, case_id, action_id) + values (v_item_id, p_case_id, p_action_id); + + -- return id of newly created item + return v_item_id; +end;' language 'plpgsql'; + + +-- Now change parent_id of existing cases + +create or replace function inline_0() returns integer as ' +declare + rec record; +begin + for rec in select c.object_id, + l.entry_id + from workflow_cases c, + workflow_case_log l + where c.case_id = l.case_id + loop + update cr_items + set parent_id = rec.object_id + where item_id = rec.entry_id; + end loop; + + return 0; +end;' language 'plpgsql'; + +select inline_0(); + +drop function inline_0(); + + + -- Missing unique constraints on names -- TODO: Test these alter table workflow_roles add constraint wf_roles_short_name_un unique (workflow_id, short_name); @@ -33,7 +176,7 @@ -- Adding unique constraint on workflow fsm enabled in actions -- This could cause upgrades to fail, if there are in fact duplicates, so let's pray that there aren't -alter table workflow_fsm_action_en_in_st add constraint workflow_fsm_action_en_in_st_pk primary key (action_id, state_id); +-- alter table workflow_fsm_action_en_in_st add constraint workflow_fsm_action_en_in_st_pk primary key (action_id, state_id); -- Workflow deputies should use timestamp, not date alter table workflow_deputies rename column start_date to start_date_old; Index: openacs-4/packages/workflow/tcl/implementation-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/workflow/tcl/implementation-procs.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/workflow/tcl/implementation-procs.xql 5 Mar 2003 17:18:10 -0000 1.3 +++ openacs-4/packages/workflow/tcl/implementation-procs.xql 24 Feb 2005 13:33:28 -0000 1.4 @@ -19,7 +19,7 @@ - select m.party_id + select distinct m.party_id from workflow_case_role_party_map m, workflow_cases c where m.role_id = :role_id Index: openacs-4/packages/wp-slim/www/presentation-top.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/wp-slim/www/presentation-top.adp,v diff -u -r1.8 -r1.9 --- openacs-4/packages/wp-slim/www/presentation-top.adp 21 Dec 2004 22:06:47 -0000 1.8 +++ openacs-4/packages/wp-slim/www/presentation-top.adp 24 Feb 2005 13:33:29 -0000 1.9 @@ -11,7 +11,7 @@
    @slides.sort_key@. @slides.slide_title@ @slides.slide_title;noquote@ [ #wp-slim.Preamble# Index: openacs-4/packages/wp-slim/www/serve-presentation.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/wp-slim/www/serve-presentation.adp,v diff -u -r1.11 -r1.12 --- openacs-4/packages/wp-slim/www/serve-presentation.adp 9 Mar 2004 20:33:40 -0000 1.11 +++ openacs-4/packages/wp-slim/www/serve-presentation.adp 24 Feb 2005 13:33:30 -0000 1.12 @@ -15,7 +15,7 @@
    -

    @pres_title@

    +

    @pres_title;noquote@

    #wp-slim.lt_a_Wimpy_Point_Present# @owner_name@
    #wp-slim.lt_in_collaboration_with# @@ -29,7 +29,7 @@ Index: openacs-4/packages/wp-slim/www/serve-slide.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/wp-slim/www/serve-slide.adp,v diff -u -r1.13 -r1.14 --- openacs-4/packages/wp-slim/www/serve-slide.adp 21 Dec 2004 22:06:47 -0000 1.13 +++ openacs-4/packages/wp-slim/www/serve-slide.adp 24 Feb 2005 13:33:30 -0000 1.14 @@ -11,7 +11,7 @@
    -

    @slide_title@

    +

    @slide_title;noquote@

    #wp-slim.lt_Last_modified_modifie# @@ -52,7 +52,7 @@
      -
    • @bullet_items:item@ +
    • @bullet_items:item;noquote@
    @@ -95,7 +95,7 @@ -@page_signature@ +@page_signature;noquote@ Index: openacs-4/packages/wps-portlet/tcl/wps-admin-portlet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/wps-portlet/tcl/wps-admin-portlet-procs.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/wps-portlet/tcl/wps-admin-portlet-procs.tcl 25 Sep 2003 16:36:56 -0000 1.1 +++ openacs-4/packages/wps-portlet/tcl/wps-admin-portlet-procs.tcl 24 Feb 2005 13:33:30 -0000 1.2 @@ -33,7 +33,7 @@ ad_proc -public get_pretty_name { } { - return "Wimpy Point Administration" + return "[_ wps-portlet.Administration]" } ad_proc -private my_package_key { Index: openacs-4/packages/wps-portlet/www/wps-admin-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/wps-portlet/www/wps-admin-portlet.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/wps-portlet/www/wps-admin-portlet.adp 25 Sep 2003 16:36:56 -0000 1.1 +++ openacs-4/packages/wps-portlet/www/wps-admin-portlet.adp 24 Feb 2005 13:33:30 -0000 1.2 @@ -1,19 +1,19 @@ -<% -# @author Rocael Hernandez (roc@viaro.net) -%> - -
    - - - No Presentations Available - -
    - Create a new presentation. +<% +# @author Rocael Hernandez (roc@viaro.net) +%> + + + + + #wps-portlet.lt_No_Presentations_Avai# + +
    + #wps-portlet.lt_Create_a_new_presenta# + Index: openacs-4/packages/wps-portlet/www/wps-admin-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/wps-portlet/www/wps-admin-portlet.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/wps-portlet/www/wps-admin-portlet.tcl 25 Sep 2003 16:36:56 -0000 1.1 +++ openacs-4/packages/wps-portlet/www/wps-admin-portlet.tcl 24 Feb 2005 13:33:30 -0000 1.2 @@ -1,42 +1,42 @@ -ad_page_contract { - @author Rocael Hernandez (roc@viaro.net) - @creation-date 2003-05-24 - -} -properties { - -} - -# Configuration -array set config $cf - -# Should be a list already! -set list_of_package_ids $config(package_id) - -if {[llength $list_of_package_ids] > 1} { - # We have a problem! - return -code error "There should be only one instance of Wimpy Point for admin purposes" -} - -set package_id [lindex $list_of_package_ids 0] - - -set user_id [ad_verify_and_get_user_id] - - -db_multirow presentations select_presentations { - - select i.item_id as pres_item_id, - p.pres_title as title, - acs_permission__permission_p(i.item_id, :user_id, 'admin') as admin_p, - to_char(ao.creation_date, 'Month DD, YYYY') as creation_date - from cr_items i, cr_wp_presentations p, acs_objects ao - where i.live_revision = p.presentation_id - and ao.object_id = i.item_id - and ao.creation_user = :user_id - and ao.context_id = :package_id - -} - -set url [lindex [site_node::get_url_from_object_id -object_id $package_id] 0] - -ad_return_template +ad_page_contract { + @author Rocael Hernandez (roc@viaro.net) + @creation-date 2003-05-24 + +} -properties { + +} + +# Configuration +array set config $cf + +# Should be a list already! +set list_of_package_ids $config(package_id) + +if {[llength $list_of_package_ids] > 1} { + # We have a problem! + return -code error "There should be only one instance of Wimpy Point for admin purposes" +} + +set package_id [lindex $list_of_package_ids 0] + + +set user_id [ad_verify_and_get_user_id] + + +db_multirow presentations select_presentations { + + select i.item_id as pres_item_id, + p.pres_title as title, + acs_permission__permission_p(i.item_id, :user_id, 'admin') as admin_p, + to_char(ao.creation_date, 'Month DD, YYYY') as creation_date + from cr_items i, cr_wp_presentations p, acs_objects ao + where i.live_revision = p.presentation_id + and ao.object_id = i.item_id + and ao.creation_user = :user_id + and ao.context_id = :package_id + +} + +set url [lindex [site_node::get_url_from_object_id -object_id $package_id] 0] + +ad_return_template Index: openacs-4/packages/wps-portlet/www/wps-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/wps-portlet/www/wps-portlet.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/wps-portlet/www/wps-portlet.adp 25 Sep 2003 16:36:56 -0000 1.1 +++ openacs-4/packages/wps-portlet/www/wps-portlet.adp 24 Feb 2005 13:33:30 -0000 1.2 @@ -1,68 +1,69 @@ -<% -# @author Rocael Hernandez (roc@viaro.net) -%> - - - - <% - set new_package_id "" - set old_package_id "" - %> - - - - - - - - - <% set new_package_id $presentations(package_id) %> - - - - -
  • - @presentations.pres_title@ -  [ Print View ] -
  • -
    - - - - - - - - - - - - - <% set old_package_id $new_package_id %> - - - - - -
    NameGroup
    @presentations.pres_title@ -  [ Print View ] - @presentations.parent_name@
    -
    -
    - - -
  • - @presentation_name@ -  [ Print View ] -
  • -
    - - No Presentations Available - -
    -
    - -  - - - +<% +# @author Rocael Hernandez (roc@viaro.net) +%> + + + + <% + set new_package_id "" + set old_package_id "" + %> + + + + + + + + + <% set new_package_id $presentations(package_id) %> + + + + +
  • + @presentations.pres_title@ +  [ #wps-portlet.Print_View# ] +
  • +
    + + + + + + + + + + + + + <% set old_package_id $new_package_id %> + + + + + +
    #wps-portlet.Name##wps-portlet.Group#
    @presentations.pres_title@ +  [ #wps-portlet.Print_View# ] + @presentations.parent_name@
    +
    +
    + + +
  • + @presentation_name@ +  [ #wps-portlet.Print_View# ] +
  • +
    + + #wps-portlet.lt_No_Presentations_Avai# + +
    +
    + +  + + + + Index: openacs-4/packages/wps-portlet/www/wps-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/wps-portlet/www/wps-portlet.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/wps-portlet/www/wps-portlet.tcl 25 Sep 2003 16:36:56 -0000 1.1 +++ openacs-4/packages/wps-portlet/www/wps-portlet.tcl 24 Feb 2005 13:33:30 -0000 1.2 @@ -1,35 +1,35 @@ -ad_page_contract { - @author Rocael Hernandez (roc@viaro.net) - @creation-date 2003-05-24 - -} -properties { - -} - -array set config $cf - -set shaded_p $config(shaded_p) -set list_of_package_ids $config(package_id) -set package_id [lindex $list_of_package_ids 0] -set one_instance_p [ad_decode [llength $list_of_package_ids] 1 1 0] -set user_id [ad_verify_and_get_user_id] - -set counter 0 -db_multirow presentations select_presentations { *SQL* } { - incr counter - # we don't want to fill the users portlet with 1000 presentations! roc@viaro.net - # specially true in users portal page, we do it this way because the lack of oracle - # on limiting the amount of rows returned - if {$counter > 25} {break} -} - -if {${presentations:rowcount} == 1} { - set presentation_name [lindex [array get {presentations:1} pres_title] 1] - set presentation_url [lindex [array get {presentations:1} url] 1] - set presentation_id [lindex [array get {presentations:1} pres_item_id] 1] - -} - - - - +ad_page_contract { + @author Rocael Hernandez (roc@viaro.net) + @creation-date 2003-05-24 + +} -properties { + +} + +array set config $cf + +set shaded_p $config(shaded_p) +set list_of_package_ids $config(package_id) +set package_id [lindex $list_of_package_ids 0] +set one_instance_p [ad_decode [llength $list_of_package_ids] 1 1 0] +set user_id [ad_verify_and_get_user_id] + +set counter 0 +db_multirow presentations select_presentations { *SQL* } { + incr counter + # we don't want to fill the users portlet with 1000 presentations! roc@viaro.net + # specially true in users portal page, we do it this way because the lack of oracle + # on limiting the amount of rows returned + if {$counter > 25} {break} +} + +if {${presentations:rowcount} == 1} { + set presentation_name [lindex [array get {presentations:1} pres_title] 1] + set presentation_url [lindex [array get {presentations:1} url] 1] + set presentation_id [lindex [array get {presentations:1} pres_item_id] 1] + +} + + + + Index: openacs-4/packages/xml-rpc/xml-rpc.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xml-rpc/xml-rpc.info,v diff -u -r1.1 -r1.2 --- openacs-4/packages/xml-rpc/xml-rpc.info 26 Nov 2003 02:59:13 -0000 1.1 +++ openacs-4/packages/xml-rpc/xml-rpc.info 24 Feb 2005 13:33:30 -0000 1.2 @@ -8,14 +8,14 @@ t RPC2 - + Vinod Kurup A simple XML-RPC server. 2003-10-09 Vinod Kurup This package implements a simple XML-RPC server. It receives XML-RPC calls, decodes the XML and then calls the requested method on the OpenACS server. Code is based on ns_xmlrpc, but now uses tDOM. - + Index: openacs-4/www/blank-master.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/www/blank-master.adp,v diff -u -r1.16 -r1.17 --- openacs-4/www/blank-master.adp 30 Jan 2005 16:23:40 -0000 1.16 +++ openacs-4/www/blank-master.adp 24 Feb 2005 13:33:30 -0000 1.17 @@ -7,7 +7,7 @@ - + @@ -24,6 +24,7 @@ + @header_stuff;noquote@ @attribute.key@="@attribute.value@"> Index: openacs-4/www/site-master.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/www/site-master.adp,v diff -u -r1.22 -r1.23 --- openacs-4/www/site-master.adp 2 Feb 2005 18:26:10 -0000 1.22 +++ openacs-4/www/site-master.adp 24 Feb 2005 13:33:31 -0000 1.23 @@ -9,7 +9,7 @@ @focus;noquote@ - + @header_stuff;noquote@