Index: openacs-4/packages/acs-admin/www/apm/version-edit-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/apm/version-edit-2.tcl,v diff -u -r1.16 -r1.17 --- openacs-4/packages/acs-admin/www/apm/version-edit-2.tcl 20 Jan 2018 22:45:12 -0000 1.16 +++ openacs-4/packages/acs-admin/www/apm/version-edit-2.tcl 3 Sep 2024 15:37:29 -0000 1.17 @@ -11,13 +11,14 @@ summary description:html {description_format ""} - { owner_name:multiple} - { owner_uri:multiple} + {owner_name:multiple} + {owner_uri:multiple} vendor vendor_uri {auto_mount ""} {release_date ""} - { upgrade_p:boolean 0 } + {upgrade_p:boolean,notnull 0} + {update_info_file:boolean,notnull true} } # Validate dynamic package version attributes @@ -26,7 +27,7 @@ foreach attribute_name [array names all_attributes] { array set attribute $all_attributes($attribute_name) - set attribute_value [ns_set iget [rp_getform] $attribute_name] + set attribute_value [ns_queryget $attribute_name] if { [info exists attribute(validation_proc)] } { set attribute_error [$attribute(validation_proc) $attribute_value] @@ -35,18 +36,18 @@ ad_return_complaint 1 $attribute_error } } - + set dynamic_attributes($attribute_name) $attribute_value } if {![regexp {^[0-9]+((\.[0-9]+)+((d|a|b|)[0-9]*)?)$} $version_name match]} { ad_return_complaint 1 "The version name has invalid characters" ad_script_abort -} +} # Figure out if we're changing version db_1row old_version_info {} -set version_changed_p [expr {$version_name ne $old_version_name }] +set version_changed_p [expr {$version_name ne $old_version_name }] if {$old_version_name eq $version_name} { # The version name didn't change, so don't attempt to upgrade @@ -61,7 +62,7 @@ } if { $upgrade_p && [db_string apm_version_uri_unique_ck { - select decode(count(*), 0, 0, 1) from apm_package_versions + select decode(count(*), 0, 0, 1) from apm_package_versions where version_uri = :version_uri } -default 0] } { ad_return_complaint 1 "A version with the URL $version_uri already exists." @@ -72,7 +73,10 @@ set version_id [apm_version_update -array dynamic_attributes $version_id $version_name $version_uri \ $summary $description $description_format $vendor $vendor_uri $auto_mount $release_date] apm_package_install_owners [apm_package_install_owners_prepare $owner_name $owner_uri] $version_id - apm_package_install_spec $version_id + + if {$update_info_file} { + apm_package_install_spec $version_id + } if {$upgrade_p} { apm_version_upgrade $version_id