Index: openacs-4/packages/project-manager/project-manager.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/project-manager.info,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/project-manager/project-manager.info 2 Dec 2005 20:02:40 -0000 1.3.2.2 +++ openacs-4/packages/project-manager/project-manager.info 31 Jan 2006 03:10:45 -0000 1.3.2.3 @@ -7,14 +7,15 @@ f f - + Jade Rubick Project management tool for OpenACS 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. + 0 - + @@ -30,17 +31,18 @@ - - - + + + + Index: openacs-4/packages/project-manager/sql/oracle/project-manager-table-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/sql/oracle/project-manager-table-create.sql,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/project-manager/sql/oracle/project-manager-table-create.sql 30 Nov 2005 06:47:36 -0000 1.1.2.1 +++ openacs-4/packages/project-manager/sql/oracle/project-manager-table-create.sql 31 Jan 2006 03:10:51 -0000 1.1.2.2 @@ -62,7 +62,14 @@ constraint pm_projects_logger_pj_nn not null constraint pm_projects_logger_pj_fk - references logger_projects + references logger_projects, + -- added for integration with photo album + album_id integer + constraint pm_projects_album_fk + references cr_items, + image_id integer + constraint pm_projects_image_fk + references cr_items ); -- create type Index: openacs-4/packages/project-manager/sql/oracle/upgrade/upgrade-2.71a3-2.71a4.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/sql/oracle/upgrade/Attic/upgrade-2.71a3-2.71a4.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/project-manager/sql/oracle/upgrade/upgrade-2.71a3-2.71a4.sql 31 Jan 2006 03:10:52 -0000 1.1.2.1 @@ -0,0 +1,44 @@ +alter table pm_projects add album_id integer + constraint pm_projects_album_fk + references cr_items; +alter table pm_projects add image_id integer + constraint pm_projects_image_fk + references cr_items; + +comment on column pm_projects.album_id is ' + Album (from photo-album package) to use for project image. Only used + if package parameter PhotoAlbumURL is defined. +'; + +comment on column pm_projects.image_id is ' + Image (from photo-album package) to use for project image. Only used + if package parameter PhotoAlbumURL is defined. +'; + +declare + attribute_id integer; +begin + attribute_id := content_type.create_attribute ( + 'pm_project', -- content_type + 'album_id', -- attribute_name + 'integer', -- datatype + 'Album', -- pretty_name + 'Albums', -- pretty_plural + null, -- sort order + null, -- default value + 'integer' -- column_spec + ); + + attribute_id := content_type.create_attribute ( + 'pm_project', -- content_type + 'image_id', -- attribute_name + 'integer', -- datatype + 'Image', -- pretty_name + 'Images', -- pretty_plural + null, -- sort order + null, -- default value + 'integer' -- column_spec + ); +end; +/ +show errors Index: openacs-4/packages/project-manager/sql/postgresql/project-manager-table-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/sql/postgresql/project-manager-table-create.sql,v diff -u -N -r1.1 -r1.1.2.1 --- openacs-4/packages/project-manager/sql/postgresql/project-manager-table-create.sql 29 Apr 2005 17:43:37 -0000 1.1 +++ openacs-4/packages/project-manager/sql/postgresql/project-manager-table-create.sql 31 Jan 2006 03:10:53 -0000 1.1.2.1 @@ -62,7 +62,14 @@ constraint pm_projects_logger_pj_nn not null constraint pm_projects_logger_pj_fk - references logger_projects + references logger_projects, + -- added for integration with photo album + album_id integer + constraint pm_projects_album_fk + references cr_items, + image_id integer + constraint pm_projects_image_fk + references cr_items ); Index: openacs-4/packages/project-manager/sql/postgresql/upgrade/upgrade-2.71a3-2.71a4.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/sql/postgresql/upgrade/Attic/upgrade-2.71a3-2.71a4.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/project-manager/sql/postgresql/upgrade/upgrade-2.71a3-2.71a4.sql 31 Jan 2006 03:10:53 -0000 1.1.2.1 @@ -0,0 +1,38 @@ +alter table pm_projects add album_id integer + constraint pm_projects_album_fk + references cr_items; +alter table pm_projects add image_id integer + constraint pm_projects_image_fk + references cr_items; + +comment on column pm_projects.album_id is ' + Album (from photo-album package) to use for project image. Only used + if package parameter PhotoAlbumURL is defined. +'; + +comment on column pm_projects.image_id is ' + Image (from photo-album package) to use for project image. Only used + if package parameter PhotoAlbumURL is defined. +'; + +select content_type__create_attribute ( + 'pm_project', -- content_type + 'album_id', -- attribute_name + 'integer', -- datatype + 'Album', -- pretty_name + 'Albums', -- pretty_plural + null, -- sort order + null, -- default value + 'integer' -- column_spec +); + +select content_type__create_attribute ( + 'pm_project', -- content_type + 'image_id', -- attribute_name + 'integer', -- datatype + 'Image', -- pretty_name + 'Images', -- pretty_plural + null, -- sort order + null, -- default value + 'integer' -- column_spec +); Index: openacs-4/packages/project-manager/tcl/project-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/tcl/project-procs-oracle.xql,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/project-manager/tcl/project-procs-oracle.xql 30 Nov 2005 06:47:37 -0000 1.1.2.1 +++ openacs-4/packages/project-manager/tcl/project-procs-oracle.xql 31 Jan 2006 03:10:54 -0000 1.1.2.2 @@ -43,7 +43,8 @@ - select pm_project.new_project_revision ( + begin + :1 := pm_project.new_project_revision ( :project_item_id, :project_name, :project_code, @@ -58,11 +59,12 @@ :ongoing_p, :status_id, :organization_id, - now(), + sysdate, :creation_user, :creation_ip, :package_id - ) from dual + ); + end; Index: openacs-4/packages/project-manager/www/add-edit-album.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/Attic/add-edit-album.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/project-manager/www/add-edit-album.adp 31 Jan 2006 03:10:54 -0000 1.1.2.1 @@ -0,0 +1,9 @@ + +@context_bar;noquote@ +@title@ + +
+Choose an album to link this project to: +

+ +

Index: openacs-4/packages/project-manager/www/add-edit-album.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/Attic/add-edit-album.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/project-manager/www/add-edit-album.tcl 31 Jan 2006 03:10:54 -0000 1.1.2.1 @@ -0,0 +1,68 @@ +ad_page_contract { + + @author janine@furfly.net + @cvs-id $Id: add-edit-album.tcl,v 1.1.2.1 2006/01/31 03:10:54 janine Exp $ + + @return context_bar Context bar. + @return title Page title. + +} { + project_id:integer + {album_id:integer ""} + {old_project_id:integer ""} + +} -properties { + + context_bar:onevalue + title:onevalue + +} + + + +# --------------------------------------------------------------- # +# the unique identifier for this package +set package_id [ad_conn package_id] +set user_id [ad_maybe_redirect_for_registration] + +# terminology +set project_term [parameter::get -parameter "ProjectName" -default "Project"] +set project_term_lower [parameter::get -parameter "projectname" -default "project"] +set photo_album_url [parameter::get -parameter "PhotoAlbumURL" -default ""] + + +set title "Edit a $project_term_lower" +set context_bar [ad_context_bar "Edit $project_term"] + +permission::require_permission -party_id $user_id -object_id $package_id -privilege write + +# get list of albums +# first get package_id of photo-album instance: +set pa_package_id [photo_album::get_package_id_from_url -url $photo_album_url] +# then get root folder id +set pa_root_folder_id [pa_get_root_folder $pa_package_id] +# now get album titles +set options [photo_album::list_albums_in_root_folder -root_folder_id $pa_root_folder_id] + +ad_form -name add_edit \ + -form { + {project_id:text(hidden) + {value $project_id}} + + {old_project_id:text(hidden) + {value $old_project_id}} + + {album:text(radio) + {label "Album Name"} + {options $options} + {values $album_id}} + } \ + -after_submit { + # save changes + db_dml update_album "" + + ad_returnredirect -message "Project changes saved" "add-edit-image?[export_url_vars project_id old_project_id pa_package_id]" + ad_script_abort + + } + Index: openacs-4/packages/project-manager/www/add-edit-album.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/Attic/add-edit-album.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/project-manager/www/add-edit-album.xql 31 Jan 2006 03:10:54 -0000 1.1.2.1 @@ -0,0 +1,12 @@ + + + + + + update pm_projects + set album_id = :album + where project_id = :project_id + + + + Index: openacs-4/packages/project-manager/www/add-edit-image.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/Attic/add-edit-image.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/project-manager/www/add-edit-image.adp 31 Jan 2006 03:10:54 -0000 1.1.2.1 @@ -0,0 +1,9 @@ + +@context_bar;noquote@ +@title@ + +
+Choose an image to use as this project's logo: +

+ +

Index: openacs-4/packages/project-manager/www/add-edit-image.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/Attic/add-edit-image.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/project-manager/www/add-edit-image.tcl 31 Jan 2006 03:10:54 -0000 1.1.2.1 @@ -0,0 +1,70 @@ +ad_page_contract { + + @return context_bar Context bar. + @return title Page title. + +} { + project_id:integer + {old_project_id:integer ""} + pa_package_id:integer + +} -properties { + + context_bar:onevalue + title:onevalue + +} + + + +# --------------------------------------------------------------- # +# the unique identifier for this package +set package_id [ad_conn package_id] +set user_id [ad_maybe_redirect_for_registration] + +# terminology +set project_term [parameter::get -parameter "ProjectName" -default "Project"] +set project_term_lower [parameter::get -parameter "projectname" -default "project"] + + +set title "Edit a $project_term_lower" +set context_bar [ad_context_bar "Edit $project_term"] + +permission::require_permission -party_id $user_id -object_id $package_id -privilege write + + +# get list of photos in this album +set options [list] +set photo_album_url [parameter::get -parameter "PhotoAlbumURL" -default ""] +set album_id [db_string get_album_id ""] +set photo_ids [pa_all_photos_in_album $album_id] +foreach photo_id $photo_ids { + photo_album::photo::get -photo_id $photo_id -array photo_info + lappend options [list "
$photo_info(caption)" $photo_id] +} + +ad_form -name add_edit \ + -form { + {project_id:text(hidden) + {value $project_id}} + + {old_project_id:text(hidden) + {value $old_project_id}} + + {pa_package_id:text(hidden) + {value $pa_package_id}} + + {image:text(radio) + {label "Image"} + {options $options} + {value $photo_id}} + } \ + -after_submit { + # save changes + db_dml do_update "update pm_projects set album_id = :album_id, image_id = :image where project_id = :project_id" + + ad_returnredirect -message "Project changes saved" "one?[export_url_vars project_id]" + ad_script_abort + + } + Index: openacs-4/packages/project-manager/www/add-edit-image.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/Attic/add-edit-image.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/project-manager/www/add-edit-image.xql 31 Jan 2006 03:10:54 -0000 1.1.2.1 @@ -0,0 +1,20 @@ + + + + + + select album_id + from pm_projectsx + where project_id = :project_id + + + + + + update pm_projects + set image_id = :image + where project_id = :project_id + + + + Index: openacs-4/packages/project-manager/www/add-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/add-edit.tcl,v diff -u -N -r1.3.2.1 -r1.3.2.2 --- openacs-4/packages/project-manager/www/add-edit.tcl 30 Nov 2005 06:47:37 -0000 1.3.2.1 +++ openacs-4/packages/project-manager/www/add-edit.tcl 31 Jan 2006 03:10:54 -0000 1.3.2.2 @@ -43,6 +43,11 @@ set project_term_lower [parameter::get -parameter "projectname" -default "project"] set use_goal_p [parameter::get -parameter "UseGoalP" -default "1"] set use_project_code_p [parameter::get -parameter "UseUserProjectCodesP" -default "1"] +if { [string length [parameter::get -parameter "PhotoAlbumURL" -default ""]] > 0} { + set can_use_image_p 1 +} else { + set can_use_image_p 0 +} set use_project_customizations_p [parameter::get -parameter "UseProjectCustomizationsP" -default "0"] @@ -187,16 +192,32 @@ } } +if {$can_use_image_p} { + ad_form -extend -name add_edit \ + -form { + {use_image_p:text(checkbox),optional + {label "Choose an Image?"} + {options {{"" "t"}}} + } + } +} else { + ad_form -extend -name add_edit \ + -form { + {use_image_p:text(hidden) + {value "f"} + } + } +} - - ad_form -extend -name add_edit \ -select_query_name project_query \ -on_submit { - set user_id [ad_conn user_id] set peeraddr [ad_conn peeraddr] - + # do this to avoid having to have both a yes and a no checkbox + if { [string length $use_image_p] == 0 } { + set use_image_p "n" + } } \ -new_request { @@ -254,6 +275,13 @@ -variable_id [logger::variable::get_default_variable_id] } + # if we are choosing an image, go off and do that and then optionally + # go to the custom code afterwards + if {$use_image_p} { + ad_returnredirect "add-edit-album?[export_url_vars project_item_id project_id use_project_customizations_p]" + ad_script_abort + } + if {$use_project_customizations_p} { # warn of current bug so users can work around it ad_returnredirect -message "You must submit changes on this page or you will lose any data on this page" "add-edit-2?[export_url_vars project_item_id project_id]" @@ -306,6 +334,14 @@ if {[exists_and_not_null category_ids]} { category::map_object -remove_old -object_id $project_item_id $category_ids } + + # if we are choosing an image, go off and do that and then optionally + # go to the custom code afterwards + if {$use_image_p} { + ad_returnredirect "add-edit-album?[export_url_vars project_item_id project_id use_project_customizations_p]" + ad_script_abort + } + } -after_submit { if {$use_project_customizations_p} { Index: openacs-4/packages/project-manager/www/one.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/one.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/project-manager/www/one.adp 2 Dec 2005 20:02:41 -0000 1.2.2.1 +++ openacs-4/packages/project-manager/www/one.adp 31 Jan 2006 03:10:54 -0000 1.2.2.2 @@ -17,6 +17,28 @@ + + + + + + + + + + + +
+ + Image + +
+ +
+ +

+ +
Index: openacs-4/packages/project-manager/www/one.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/one.tcl,v diff -u -N -r1.3.2.1 -r1.3.2.2 --- openacs-4/packages/project-manager/www/one.tcl 2 Dec 2005 20:02:41 -0000 1.3.2.1 +++ openacs-4/packages/project-manager/www/one.tcl 31 Jan 2006 03:10:54 -0000 1.3.2.2 @@ -502,6 +502,19 @@ # end of customizations +db_1row get_photo "" +set photo_album_url [parameter::get -parameter "PhotoAlbumURL" -default ""] +if { [string length $photo_album_url] > 0 && [string length $album_id] > 0 && [string length $image_id] > 0 } { + set use_image_p "t" + photo_album::photo::get -photo_id $image_id -array photo_info + set thumb_path $photo_info(thumb_image_id) + set thumb_height $photo_info(thumb_height) + set thumb_width $photo_info(thumb_width) + set thumb_image_url $photo_album_url/images/$photo_info(thumb_image_id) + set viewer_image_url $photo_album_url/images/$photo_info(viewer_image_id) +} else { + set use_image_p "f" +} ad_return_template # ------------------------- END OF FILE ------------------------- # Index: openacs-4/packages/project-manager/www/one.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/one.xql,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/project-manager/www/one.xql 30 Nov 2005 06:47:37 -0000 1.3.2.2 +++ openacs-4/packages/project-manager/www/one.xql 31 Jan 2006 03:10:54 -0000 1.3.2.3 @@ -165,4 +165,12 @@ + + + select album_id, image_id + from pm_projectsx + where project_id = :original_project_id + + + Index: openacs-4/packages/project-manager/www/admin/logger.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/admin/logger.tcl,v diff -u -N -r1.2 -r1.2.2.1 --- openacs-4/packages/project-manager/www/admin/logger.tcl 30 Apr 2005 06:59:34 -0000 1.2 +++ openacs-4/packages/project-manager/www/admin/logger.tcl 31 Jan 2006 03:10:54 -0000 1.2.2.1 @@ -40,9 +40,13 @@ set value "" } + # having forward slashes in the item name terminally confuses + # the form builder. + regsub -all {/} $url "" cleaned_url + append logger_definition " - {package_url_$url:text(checkbox),optional + {package_url_$cleaned_url:text(checkbox),optional {label \"$url\"} {options {{\"\" \"t\"}}} {value $value} @@ -65,7 +69,11 @@ set urls_list [list] foreach url $possible_URLs { - set this_value "[set package_url_[set url]]" + # having forward slashes in the item name terminally confuses + # the form builder. + regsub -all {/} $url "" cleaned_url + + set this_value "[set package_url_[set cleaned_url]]" if {[string equal t $this_value]} { lappend urls_list $url }