Index: openacs-4/packages/news/sql/postgresql/news-package-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/sql/postgresql/news-package-create.sql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/news/sql/postgresql/news-package-create.sql 26 Mar 2005 13:49:55 -0000 1.2 +++ openacs-4/packages/news/sql/postgresql/news-package-create.sql 26 Mar 2005 21:45:09 -0000 1.3 @@ -405,21 +405,25 @@ declare p_revision_id alias for $1; v_news_item_p boolean; + v_item_id cr_items.item_id%TYPE; + v_title acs_objects.title%TYPE; -- could be used to check if really a ''news'' item begin - update - cr_items - set - live_revision = p_revision_id, + + select item_id, title into v_item_id, v_title + from cr_revisions + where revision_id = p_revision_id; + + update cr_items + set live_revision = p_revision_id, publish_status = ''ready'' - where - item_id = (select - item_id - from - cr_revisions - where - revision_id = p_revision_id); + where item_id = v_item_id; + -- We update the acs_objects title as well. + + update acs_objects set title = v_title + where object_id = v_item_id and (title != v_title or title is null); + return 0; end; ' language 'plpgsql'; Index: openacs-4/packages/news/sql/postgresql/upgrade/upgrade-5.2.0d2-5.2.0d3.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/sql/postgresql/upgrade/upgrade-5.2.0d2-5.2.0d3.sql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/news/sql/postgresql/upgrade/upgrade-5.2.0d2-5.2.0d3.sql 26 Mar 2005 20:54:27 -0000 1.1 +++ openacs-4/packages/news/sql/postgresql/upgrade/upgrade-5.2.0d2-5.2.0d3.sql 26 Mar 2005 21:45:09 -0000 1.2 @@ -126,3 +126,30 @@ ' language 'plpgsql'; +create or replace function news__revision_set_active (integer) +returns integer as ' +declare + p_revision_id alias for $1; + v_news_item_p boolean; + v_item_id cr_items.item_id%TYPE; + v_title acs_objects.title%TYPE; + -- could be used to check if really a ''news'' item +begin + + select item_id, title into v_item_id, v_title + from cr_revisions + where revision_id = p_revision_id; + + update cr_items + set live_revision = p_revision_id, + publish_status = ''ready'' + where item_id = v_item_id; + + -- We update the acs_objects title as well. + + update acs_objects set title = v_title + where object_id = v_item_id and (title != v_title or title is null); + + return 0; +end; +' language 'plpgsql'; 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.7 -r1.8 --- openacs-4/packages/news/tcl/news-procs.xql 26 Mar 2005 20:54:27 -0000 1.7 +++ openacs-4/packages/news/tcl/news-procs.xql 26 Mar 2005 21:45:09 -0000 1.8 @@ -4,7 +4,7 @@ - select r.item_id, n.package_id + select distinct r.item_id, n.package_id from cr_revisions r, cr_news n where (r.revision_id=:object_id or r.item_id = :object_id) and r.revision_id = n.news_id