Index: openacs-4/packages/logger/logger.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/logger.info,v diff -u -N -r1.8 -r1.8.2.1 --- openacs-4/packages/logger/logger.info 8 Oct 2003 16:05:25 -0000 1.8 +++ openacs-4/packages/logger/logger.info 3 Dec 2003 18:07:03 -0000 1.8.2.1 @@ -7,14 +7,14 @@ f f - + Lars Pind Peter Marklund Supports time and expenses reporting. Full specification is here: http://www.collaboraid.biz/developer/logger-spec 2003-05-08 Collaboraid - + Index: openacs-4/packages/logger/sql/oracle/logger-packages-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/sql/oracle/logger-packages-create.sql,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/logger/sql/oracle/logger-packages-create.sql 30 Sep 2003 12:10:08 -0000 1.6 +++ openacs-4/packages/logger/sql/oracle/logger-packages-create.sql 3 Dec 2003 18:07:03 -0000 1.6.2.1 @@ -131,17 +131,18 @@ logger_entry.del(rec.entry_id); end loop; - -- Delete all variables only mapped to this project. + -- Delete all variables only mapped to this project that are not preinstalled (time, expenses) for rec in (select variable_id - from logger_variables - where exists (select 1 - from logger_project_pkg_map - where project_id = logger_project.del.project_id - ) - and not exists (select 1 - from logger_project_pkg_map - where project_id <> logger_project.del.project_id + from logger_variables + where package_id is not null + and exists (select 1 + from logger_project_pkg_map + where project_id = logger_project.del.project_id ) + and not exists (select 1 + from logger_project_pkg_map + where project_id <> logger_project.del.project_id + ) ) loop logger_variable.del(rec.variable_id); Index: openacs-4/packages/logger/sql/oracle/upgrade/upgrade-1.0b2-1.0b3.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/sql/oracle/upgrade/upgrade-1.0b2-1.0b3.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/logger/sql/oracle/upgrade/upgrade-1.0b2-1.0b3.sql 3 Dec 2003 18:07:03 -0000 1.1.2.1 @@ -0,0 +1,95 @@ +-- +-- +-- Fixed deleting projects also deleting pre-installed variables +-- +-- @cvs-id $Id: upgrade-1.0b2-1.0b3.sql,v 1.1.2.1 2003/12/03 18:07:03 lars Exp $ +-- + +create or replace package body logger_project +as + function new ( + project_id in integer default null, + name in logger_projects.name%TYPE, + description in logger_projects.description%TYPE default null, + project_lead in integer, + creation_user in acs_objects.creation_user%TYPE, + creation_ip in acs_objects.creation_ip%TYPE default null, + package_id in apm_packages.package_id%TYPE + ) return integer + is + v_project_id integer; + begin + v_project_id := acs_object.new( + object_id => project_id, + object_type => 'logger_project', + context_id => package_id, + creation_ip => creation_ip, + creation_user => creation_user + ); + + insert into logger_projects (project_id, name, description, project_lead) + values (v_project_id, name, description, project_lead); + + insert into logger_project_pkg_map (project_id, package_id) + values (v_project_id, logger_project.new.package_id); + + return v_project_id; + end new; + + procedure del ( + project_id in integer + ) + is + begin + -- Delete all entries in the project + for rec in (select entry_id + from logger_entries + where project_id = logger_project.del.project_id + ) + loop + logger_entry.del(rec.entry_id); + end loop; + + -- Delete all variables only mapped to this project that are not preinstalled (time, expenses) + for rec in (select variable_id + from logger_variables + where package_id is not null + and exists (select 1 + from logger_project_pkg_map + where project_id = logger_project.del.project_id + ) + and not exists (select 1 + from logger_project_pkg_map + where project_id <> logger_project.del.project_id + ) + ) + loop + logger_variable.del(rec.variable_id); + end loop; + + -- Delete the project acs object. This will cascade the row in the logger_projects table + -- as well as all projections in the project + -- acs_object.delete should delete permissions for us but this change is not on cvs head yet + delete from acs_permissions where object_id = project_id; + acs_object.del(project_id); + + end del; + + function name ( + project_id in integer + ) return varchar2 + is + v_name logger_projects.name%TYPE; + begin + select name + into v_name + from logger_projects + where project_id = name.project_id; + + return v_name; + end name; + +end logger_project; +/ +show errors; + Index: openacs-4/packages/logger/sql/postgresql/logger-packages-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/sql/postgresql/logger-packages-create.sql,v diff -u -N -r1.5 -r1.5.6.1 --- openacs-4/packages/logger/sql/postgresql/logger-packages-create.sql 9 May 2003 11:04:13 -0000 1.5 +++ openacs-4/packages/logger/sql/postgresql/logger-packages-create.sql 3 Dec 2003 18:07:03 -0000 1.5.6.1 @@ -65,17 +65,18 @@ perform logger_entry__del(v_rec.entry_id); end loop; - -- Delete all variables only mapped to this project. + -- Delete all variables only mapped to this project that are not preinstalled (time, expenses) for v_rec in select variable_id - from logger_variables - where exists (select 1 + from logger_variables + where package_id is not null + and exists (select 1 from logger_project_pkg_map where project_id = p_project_id ) - and not exists (select 1 - from logger_project_pkg_map - where project_id <> p_project_id - ) + and not exists (select 1 + from logger_project_pkg_map + where project_id <> p_project_id + ) loop perform logger_variable__del(v_rec.variable_id); end loop; Index: openacs-4/packages/logger/sql/postgresql/upgrade/upgrade-1.0b2-1.0b3.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/sql/postgresql/upgrade/upgrade-1.0b2-1.0b3.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/logger/sql/postgresql/upgrade/upgrade-1.0b2-1.0b3.sql 3 Dec 2003 18:07:04 -0000 1.1.2.1 @@ -0,0 +1,47 @@ +-- +-- +-- Fixed deleting projects also deleting pre-installed variables +-- +-- @cvs-id $Id: upgrade-1.0b2-1.0b3.sql,v 1.1.2.1 2003/12/03 18:07:04 lars Exp $ +-- + +create or replace function logger_project__del (integer) +returns integer as ' +declare + p_project_id alias for $1; + + v_rec record; +begin + -- Delete all entries in the project + for v_rec in select entry_id + from logger_entries + where project_id = p_project_id + loop + perform logger_entry__del(v_rec.entry_id); + end loop; + + -- Delete all variables only mapped to this project. + for v_rec in select variable_id + from logger_variables + where package_id is not null + and exists (select 1 + from logger_project_pkg_map + where project_id = p_project_id + ) + and not exists (select 1 + from logger_project_pkg_map + where project_id <> p_project_id + ) + loop + perform logger_variable__del(v_rec.variable_id); + end loop; + + -- Delete the project acs object. This will cascade the row in the logger_projects table + -- as well as all projections in the project + -- acs_object__delete should delete permissions for us but this change is not on cvs head yet + delete from acs_permissions where object_id = p_project_id; + perform acs_object__delete(p_project_id); + + return 0; +end; ' language 'plpgsql'; + Index: openacs-4/packages/logger/tcl/project-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/tcl/project-procs-oracle.xql,v diff -u -N -r1.2 -r1.2.6.1 --- openacs-4/packages/logger/tcl/project-procs-oracle.xql 1 May 2003 10:00:24 -0000 1.2 +++ openacs-4/packages/logger/tcl/project-procs-oracle.xql 3 Dec 2003 18:07:04 -0000 1.2.6.1 @@ -27,4 +27,14 @@ + + + select acs_object.name(p.project_lead), project_lead + from logger_projects p, + logger_project_pkg_map ppm + where ppm.project_id = p.project_id + and ppm.package_id = :package_id + + + Index: openacs-4/packages/logger/tcl/project-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/tcl/project-procs-postgresql.xql,v diff -u -N -r1.3 -r1.3.6.1 --- openacs-4/packages/logger/tcl/project-procs-postgresql.xql 8 May 2003 13:54:59 -0000 1.3 +++ openacs-4/packages/logger/tcl/project-procs-postgresql.xql 3 Dec 2003 18:07:04 -0000 1.3.6.1 @@ -23,4 +23,14 @@ + + + select acs_object__name(p.project_lead), project_lead + from logger_projects p, + logger_project_pkg_map ppm + where ppm.project_id = p.project_id + and ppm.package_id = :package_id + + + Index: openacs-4/packages/logger/tcl/project-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/tcl/project-procs.xql,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/logger/tcl/project-procs.xql 28 Aug 2003 09:45:30 -0000 1.6 +++ openacs-4/packages/logger/tcl/project-procs.xql 3 Dec 2003 18:07:04 -0000 1.6.2.1 @@ -92,14 +92,4 @@ - - - select acs_object__name(p.project_lead), project_lead - from logger_projects p, - logger_project_pkg_map ppm - where ppm.project_id = p.project_id - and ppm.package_id = :package_id - - - Index: openacs-4/packages/logger/www/index-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/www/Attic/index-oracle.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/logger/www/index-oracle.xql 3 Dec 2003 18:07:04 -0000 1.1.2.1 @@ -0,0 +1,32 @@ + + + + oracle8.1.6 + + + + select le.entry_id, + acs_permission.permission_p(le.entry_id, :current_user_id, 'delete') as delete_p, + acs_permission.permission_p(le.entry_id, :current_user_id, 'write') as edit_p, + le.time_stamp, + to_char(le.time_stamp, 'fmDyfm fmMMfm-fmDDfm-YYYY') as time_stamp_pretty, + to_char(le.time_stamp, 'IW-YYYY') as time_stamp_week, + le.value, + le.description, + lp.project_id, + lp.name as project_name, + submitter.user_id, + submitter.first_names || ' ' || submitter.last_name as user_name + from logger_entries le, + logger_projects lp, + acs_objects ao, + cc_users submitter + where le.project_id = lp.project_id + and ao.object_id = le.entry_id + and ao.creation_user = submitter.user_id + [list::filter_where_clauses -and -name "entries"] + [list::orderby_clause -orderby -name "entries"] + + + + Index: openacs-4/packages/logger/www/index-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/www/Attic/index-postgresql.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/logger/www/index-postgresql.xql 3 Dec 2003 18:07:04 -0000 1.1.2.1 @@ -0,0 +1,32 @@ + + + + postgresql7.2 + + + + select le.entry_id, + acs_permission__permission_p(le.entry_id, :current_user_id, 'delete') as delete_p, + acs_permission__permission_p(le.entry_id, :current_user_id, 'write') as edit_p, + le.time_stamp, + to_char(le.time_stamp, 'fmDyfm fmMMfm-fmDDfm-YYYY') as time_stamp_pretty, + to_char(le.time_stamp, 'IW-YYYY') as time_stamp_week, + le.value, + le.description, + lp.project_id, + lp.name as project_name, + submitter.user_id, + submitter.first_names || ' ' || submitter.last_name as user_name + from logger_entries le, + logger_projects lp, + acs_objects ao, + cc_users submitter + where le.project_id = lp.project_id + and ao.object_id = le.entry_id + and ao.creation_user = submitter.user_id + [list::filter_where_clauses -and -name "entries"] + [list::orderby_clause -orderby -name "entries"] + + + + Index: openacs-4/packages/logger/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/www/index.tcl,v diff -u -N -r1.15 -r1.15.2.1 --- openacs-4/packages/logger/www/index.tcl 20 Oct 2003 16:10:56 -0000 1.15 +++ openacs-4/packages/logger/www/index.tcl 3 Dec 2003 18:07:04 -0000 1.15.2.1 @@ -318,27 +318,6 @@ # This query will override the ad_page_contract value entry_id db_multirow -extend { edit_url delete_url delete_onclick } -unclobber entries select_entries " - select le.entry_id, - acs_permission__permission_p(le.entry_id, :current_user_id, 'delete') as delete_p, - acs_permission__permission_p(le.entry_id, :current_user_id, 'write') as edit_p, - le.time_stamp, - to_char(le.time_stamp, 'fmDyfm fmMMfm-fmDDfm-YYYY') as time_stamp_pretty, - to_char(le.time_stamp, 'IW-YYYY') as time_stamp_week, - le.value, - le.description, - lp.project_id, - lp.name as project_name, - submitter.user_id, - submitter.first_names || ' ' || submitter.last_name as user_name - from logger_entries le, - logger_projects lp, - acs_objects ao, - cc_users submitter - where le.project_id = lp.project_id - and ao.object_id = le.entry_id - and ao.creation_user = submitter.user_id - [list::filter_where_clauses -and -name "entries"] - [list::orderby_clause -orderby -name "entries"] " { set selected_p [string equal [ns_queryget entry_id] $entry_id] set edit_url "log?[export_vars { entry_id { edit t } }]" Index: openacs-4/packages/logger/www/lib/nav-bar.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/www/lib/Attic/nav-bar.tcl,v diff -u -N -r1.7 -r1.7.6.1 --- openacs-4/packages/logger/www/lib/nav-bar.tcl 9 May 2003 15:08:17 -0000 1.7 +++ openacs-4/packages/logger/www/lib/nav-bar.tcl 3 Dec 2003 18:07:04 -0000 1.7.6.1 @@ -19,7 +19,7 @@ # My log entrie page if { [ad_conn user_id] != 0 } { lappend link_list $index_urls - lappend link_list [list [list selected_user_id $user_id]] + lappend link_list [list [list user_id $user_id]] lappend link_list "My Entries" lappend link_list [list "${package_url}project-select"]