Index: openacs-4/packages/bug-tracker/bug-tracker.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/bug-tracker.info,v diff -u -r1.18.2.4 -r1.18.2.5 --- openacs-4/packages/bug-tracker/bug-tracker.info 12 Mar 2005 18:32:11 -0000 1.18.2.4 +++ openacs-4/packages/bug-tracker/bug-tracker.info 1 Aug 2005 18:33:04 -0000 1.18.2.5 @@ -7,18 +7,15 @@ <initial-install-p>f</initial-install-p> <singleton-p>f</singleton-p> - <version name="1.4" url="http://openacs.org/repository/download/apm/bug-tracker-1.4.apm"> - <database-support> - <database>postgresql</database> - <database>oracle</database> - </database-support> + <version name="1.4.1" url="http://openacs.org/repository/download/apm/bug-tracker-1.4.1.apm"> <owner url="mailto:lars@collaboraid.biz">Lars Pind</owner> <summary>Tracks bugs and features, versions and maintainers, in software projects.</summary> - <release-date>2003-02-28</release-date> + <release-date>2005-07-29</release-date> <vendor url="http://www.museatech.net">Musea Technologies</vendor> - <description format="text/html">Bug tracking application with notifications, configurable state management, and patch upload. + <description format="text/html">Bug tracking application with notifications, configurable state management, and patch upload. Contains the best of SDM, Bugzilla, FogBUGZ, and bughost.com.</description> - <provides url="bug-tracker" version="1.4"/> + + <provides url="bug-tracker" version="1.4.1"/> <requires url="acs-content-repository" version="5.1.4d4"/> <requires url="acs-kernel" version="5.0d13"/> <requires url="acs-tcl" version="4.6.2d"/> @@ -28,11 +25,10 @@ <callbacks> <callback type="after-install" proc="bug_tracker::install::package_install"/> <callback type="after-instantiate" proc="bug_tracker::install::package_instantiate"/> + <callback type="after-upgrade" proc="bug_tracker::install::package_upgrade"/> <callback type="before-uninstall" proc="bug_tracker::install::package_uninstall"/> <callback type="before-uninstantiate" proc="bug_tracker::install::package_uninstantiate"/> - <callback type="after-upgrade" proc="bug_tracker::install::package_upgrade"/> </callbacks> - <parameters> <parameter datatype="string" min_n_values="1" max_n_values="1" name="ComponentPrettyName" default="component" description="Pretty name of a component/area/module, e.g. 'area'. Use the capitalization that you would use in the middle of a sentence."/> <parameter datatype="string" min_n_values="1" max_n_values="1" name="ComponentPrettyPlural" default="components" description="Plural pretty name of a component/area/module, e.g. 'area'. Use the capitalization that you would use in the middle of a sentence."/> Index: openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-create-tables.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-create-tables.sql,v diff -u -r1.2 -r1.2.4.1 --- openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-create-tables.sql 28 Mar 2003 10:10:44 -0000 1.2 +++ openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-create-tables.sql 1 Aug 2005 18:33:04 -0000 1.2.4.1 @@ -28,6 +28,9 @@ references cr_folders(folder_id), root_keyword_id integer constraint bt_projects_keyword_fk + references cr_keywords(keyword_id), + component_keyword_id integer + constraint bt_component_keyword_fk references cr_keywords(keyword_id) ); @@ -311,3 +314,17 @@ create index bt_patch_bug_map_patch_id_idx on bt_patch_bug_map(patch_id); create index bt_patch_bug_map_bug_id_idx on bt_patch_bug_map(bug_id); + +create table bt_keyword_component_map ( + keyword_id integer + constraint bt_component_keyword_fk + references cr_keywords(keyword_id), + component_id integer + constraint bt_patches_components_fk + references bt_components(component_id), + constraint bt_keyword_component_map_pk + primary key (keyword_id, component_id) +); + +create index bt_keyword_component_map_keyword_idx on bt_keyword_component_map(keyword_id); +create index bt_keyword_component_map_component_idx on bt_keyword_component_map(component_id); Index: openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-drop.sql,v diff -u -r1.1 -r1.1.6.1 --- openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-drop.sql 5 Mar 2003 17:40:06 -0000 1.1 +++ openacs-4/packages/bug-tracker/sql/oracle/bug-tracker-drop.sql 1 Aug 2005 18:33:04 -0000 1.1.6.1 @@ -37,6 +37,7 @@ drop table bt_bug_revisions; drop table bt_default_keywords; drop table bt_versions; +drop table bt_keyword_component_map; drop table bt_components; drop table bt_projects; Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/sql/oracle/upgrade-1.4-1.4.1.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.9.4.2 -r1.9.4.3 --- openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-create.sql 30 Mar 2005 18:20:44 -0000 1.9.4.2 +++ openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-create.sql 1 Aug 2005 18:33:04 -0000 1.9.4.3 @@ -20,9 +20,14 @@ references cr_folders(folder_id), root_keyword_id integer constraint bt_projects_keyword_fk + references cr_keywords(keyword_id), + component_keyword_id integer + constraint bt_component_keyword_fk references cr_keywords(keyword_id) ); + +-- this function (bt_project__new) is deprecated since the project creation in handled as a TCL API create or replace function bt_project__new( integer -- package_id ) returns integer @@ -35,6 +40,7 @@ v_creation_ip varchar; v_folder_id integer; v_keyword_id integer; + v_component_keyword_id integer; begin select count(*) into v_count @@ -814,3 +820,16 @@ create index bt_patch_bug_map_patch_id_idx on bt_patch_bug_map(patch_id); create index bt_patch_bug_map_bug_id_idx on bt_patch_bug_map(bug_id); +create table bt_keyword_component_map ( + keyword_id integer + constraint bt_component_keyword_fk + references cr_keywords(keyword_id), + component_id integer + constraint bt_patches_components_fk + references bt_components(component_id), + constraint bt_keyword_component_map_pk + primary key (keyword_id, component_id) +); + +create index bt_keyword_component_map_keyword_idx on bt_keyword_component_map(keyword_id); +create index bt_keyword_component_map_component_idx on bt_keyword_component_map(component_id); Index: openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-drop.sql,v diff -u -r1.7 -r1.7.4.1 --- openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-drop.sql 29 Sep 2003 03:46:26 -0000 1.7 +++ openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-drop.sql 1 Aug 2005 18:33:04 -0000 1.7.4.1 @@ -45,6 +45,7 @@ drop table bt_default_keywords; +drop table bt_keyword_component_map; drop table bt_components; drop table bt_versions; drop table bt_projects; Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/sql/postgresql/upgrade-1.4-1.4.1.sql'. Fisheye: No comparison available. Pass `N' to diff? 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.14.2.8 -r1.14.2.9 --- openacs-4/packages/bug-tracker/tcl/bug-procs.tcl 19 Feb 2005 18:24:09 -0000 1.14.2.8 +++ openacs-4/packages/bug-tracker/tcl/bug-procs.tcl 1 Aug 2005 18:33:04 -0000 1.14.2.9 @@ -829,6 +829,19 @@ orderby_asc {heading asc, bug_number asc}] } + + set component_keyword_id [bug_tracker::get_component_keyword -package_id $package_id] + + set distributions [db_list_of_lists get_distributions {}] + + if {[llength distributions] > 0} { + lappend filters f_distribution \ + [list \ + label Distributions \ + values $distributions \ + where_clause "b.component_id in (select bkcm.component_id from cr_keywords ck, bt_keyword_component_map bkcm where ck.parent_id = :f_distribution and ck.keyword_id = bkcm.keyword_id)"] + } + if { [bug_tracker::versions_p] } { lappend filters f_fix_for_version { label "Fix for version" 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.4.3 -r1.4.4.4 --- openacs-4/packages/bug-tracker/tcl/bug-procs.xql 27 Jan 2005 02:29:32 -0000 1.4.4.3 +++ openacs-4/packages/bug-tracker/tcl/bug-procs.xql 1 Aug 2005 18:33:04 -0000 1.4.4.4 @@ -104,5 +104,13 @@ </querytext> </partialquery> + <fullquery name="bug_tracker::bug::get_list.get_distributions"> + <querytext> + select k.heading, k.keyword_id, (select count(*) from bt_bugs b where b.component_id in (select cm.component_id from bt_keyword_component_map cm where cm.keyword_id in (select kk.keyword_id from cr_keywords kk where kk.parent_id = k.keyword_id))) as num_bugs + from cr_keywords k + where k.parent_id = :component_keyword_id + </querytext> + </fullquery> + </queryset> 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.25.2.7 -r1.25.2.8 --- openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl 19 Feb 2005 18:24:09 -0000 1.25.2.7 +++ openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl 1 Aug 2005 18:33:04 -0000 1.25.2.8 @@ -115,6 +115,7 @@ page:optional f_state:optional f_fix_for_version:optional + f_distribution:optional f_component:optional orderby:optional {format "table"} @@ -137,6 +138,7 @@ set export_vars { f_state f_fix_for_version + f_distribution f_component orderby format @@ -1255,6 +1257,7 @@ content::folder::register_content_type -folder_id $folder_id -content_type {bt_bug_revision} -include_subtypes t set keyword_id [content::keyword::new -heading "$instance_name"] + set component_keyword_id [content::keyword::new -heading "Components $instance_name"] # Inserts into bt_projects set component_id [db_nextval acs_object_id_seq] @@ -1335,3 +1338,12 @@ -package_id $package_id \ -workflow_id $workflow_id]] } + +ad_proc bug_tracker::get_component_keyword { + {-package_id:required} +} { + @param package_id The package (project) to select from +} { + return [db_string get_component_keyword { select component_keyword_id from bt_projects where project_id = :package_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.3.4.4 -r1.3.4.5 --- openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.xql 19 Feb 2005 18:24:09 -0000 1.3.4.4 +++ openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.xql 1 Aug 2005 18:33:04 -0000 1.3.4.5 @@ -166,9 +166,9 @@ <fullquery name="bug_tracker::project_new.bt_projects_insert"> <querytext> insert into bt_projects - (project_id, folder_id, root_keyword_id) + (project_id, folder_id, root_keyword_id, component_keyword_id) values - (:project_id, :folder_id, :keyword_id) + (:project_id, :folder_id, :keyword_id, :component_keyword_id) </querytext> </fullquery> Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/www/admin/distro-component-add.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/www/admin/distro-component-add.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/www/admin/distro-component-delete.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/www/admin/distro-delete.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/www/admin/distro-edit.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/www/admin/distro-edit.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/www/admin/distros-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/bug-tracker/www/admin/distros-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/bug-tracker/www/admin/distros.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/bug-tracker/www/admin/distros.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/bug-tracker/www/admin/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/admin/index.adp,v diff -u -r1.6 -r1.6.4.1 --- openacs-4/packages/bug-tracker/www/admin/index.adp 22 Sep 2003 15:45:11 -0000 1.6 +++ openacs-4/packages/bug-tracker/www/admin/index.adp 1 Aug 2005 18:33:04 -0000 1.6.4.1 @@ -85,6 +85,17 @@ </tr> <tr bgcolor="#cccccc"> <td colspan="3"> + Distributions + </td> + <td align="center"> + <a href="distros"><img src="../graphics/Edit16.gif" width="16" height="16" border="0" alt="Edit"></a> + </td> + <td align="center"> + + </td> + </tr> + <tr bgcolor="#cccccc"> + <td colspan="3"> Permissions </td> <td align="center">