Index: openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl,v diff -u -N -r1.68.2.5 -r1.68.2.6 --- openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 16 May 2019 09:27:52 -0000 1.68.2.5 +++ openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 16 May 2019 09:54:29 -0000 1.68.2.6 @@ -1,5 +1,3 @@ -# /packages/subsite/tcl/subsite-procs.tcl - ad_library { Procs to manage application groups Index: openacs-4/packages/acs-subsite/www/admin/manage-email-privacy.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/manage-email-privacy.tcl,v diff -u -N -r1.4 -r1.4.2.1 --- openacs-4/packages/acs-subsite/www/admin/manage-email-privacy.tcl 5 Jan 2018 22:40:56 -0000 1.4 +++ openacs-4/packages/acs-subsite/www/admin/manage-email-privacy.tcl 16 May 2019 09:54:29 -0000 1.4.2.1 @@ -1,6 +1,6 @@ ad_page_contract { Administer the PrivateEmailLevelP parameter - + @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) } { @@ -16,13 +16,13 @@ ad_form -name private-email -form { {level:integer(select) - {label "\#acs-subsite.Change_my_email_P\#:"} - {options {{"[_ acs-subsite.email_as_text_admin]" 4} {"[_ acs-subsite.email_as_image_admin]" 3} \ - {"[_ acs-subsite.email_as_a_form_admin]" 2} {"[_ acs-subsite.email_dont_show_admin]" 1}}} + {label "\#acs-subsite.Change_my_email_P\#:"} + {options {{"[_ acs-subsite.email_as_text_admin]" 4} {"[_ acs-subsite.email_as_image_admin]" 3} \ + {"[_ acs-subsite.email_as_a_form_admin]" 2} {"[_ acs-subsite.email_dont_show_admin]" 1}}} } } -on_request { set level [parameter::get_from_package_key -package_key "acs-subsite" \ - -parameter "PrivateEmailLevelP" -default 4] + -parameter "PrivateEmailLevelP" -default 4] } -on_submit { set package_id [apm_package_id_from_key acs-subsite] parameter::set_value -package_id $package_id -parameter "PrivateEmailLevelP" -value $level Index: openacs-4/packages/acs-subsite/www/admin/subsite-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/subsite-add.tcl,v diff -u -N -r1.15 -r1.15.2.1 --- openacs-4/packages/acs-subsite/www/admin/subsite-add.tcl 7 Aug 2017 23:47:58 -0000 1.15 +++ openacs-4/packages/acs-subsite/www/admin/subsite-add.tcl 16 May 2019 09:54:29 -0000 1.15.2.1 @@ -78,7 +78,7 @@ -node_name $folder \ -package_name $instance_name \ -package_key $package_key] - + # Set template subsite::set_theme -subsite_id $new_package_id -theme $theme @@ -88,18 +88,18 @@ group::update -group_id $member_group_id -array group # Add current user as admin - group::add_member \ + group::add_member \ -no_perm_check \ -member_state "approved" \ -rel_type "admin_rel" \ -group_id $member_group_id \ -user_id [ad_conn user_id] - + # Set inheritance (called 'visibility' in form) if { $visibility ne "any" } { permission::set_not_inherit -object_id $new_package_id } - + } on_error { ad_return_error "Problem Creating Application" "We had a problem creating the subsite." } Index: openacs-4/packages/acs-subsite/www/admin/applications/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/applications/index.tcl,v diff -u -N -r1.13 -r1.13.2.1 --- openacs-4/packages/acs-subsite/www/admin/applications/index.tcl 13 Jan 2019 02:36:23 -0000 1.13 +++ openacs-4/packages/acs-subsite/www/admin/applications/index.tcl 16 May 2019 09:54:29 -0000 1.13.2.1 @@ -22,11 +22,11 @@ -has_submit 1 \ -html { style "float:right;" } \ -form { - {search:text,optional + {search:text,optional {label ""} - {html {length 20 placeholder "[_ acs-kernel.common_Search]"} } - {value $search} - } + {html {length 20 placeholder "[_ acs-kernel.common_Search]"} } + {value $search} + } } -on_submit {} list::create \ @@ -36,7 +36,7 @@ -page_flush_p 1 \ -page_size 250 \ -page_query_name select_applications \ - -actions { + -actions { "#acs-subsite.Add_application#" application-add "#acs-subsite.Add_new_app#" } \ -bulk_actions { @@ -82,8 +82,8 @@ link_html { title "#acs-subsite.Delete_this_application#" } } } -filters { - search { - hide_p 1 + search { + hide_p 1 where_clause {(:search is null or upper(coalesce(coalesce(m.message, md.message), p.instance_name) || n.name || pt.pretty_name) like '%' || upper(:search) || '%')} } } Index: openacs-4/packages/acs-subsite/www/admin/applications/multiple-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/applications/multiple-add.tcl,v diff -u -N -r1.3 -r1.3.2.1 --- openacs-4/packages/acs-subsite/www/admin/applications/multiple-add.tcl 7 Aug 2017 23:47:58 -0000 1.3 +++ openacs-4/packages/acs-subsite/www/admin/applications/multiple-add.tcl 16 May 2019 09:54:29 -0000 1.3.2.1 @@ -23,23 +23,23 @@ # Find the package pretty name from the list of packages array set package_pretty_name [list] foreach elm $packages { - set package_pretty_name([lindex $elm 1]) [lindex $elm 0] + set package_pretty_name([lindex $elm 1]) [lindex $elm 0] } if { [catch { - foreach one_package_key $package_key { - set folder [site_node::verify_folder_name \ - -parent_node_id [ad_conn node_id] \ - -instance_name $package_pretty_name($one_package_key)] - - site_node::instantiate_and_mount \ - -parent_node_id [ad_conn node_id] \ - -node_name $folder \ - -package_name $package_pretty_name($one_package_key) \ - -package_key $one_package_key - } + foreach one_package_key $package_key { + set folder [site_node::verify_folder_name \ + -parent_node_id [ad_conn node_id] \ + -instance_name $package_pretty_name($one_package_key)] + + site_node::instantiate_and_mount \ + -parent_node_id [ad_conn node_id] \ + -node_name $folder \ + -package_name $package_pretty_name($one_package_key) \ + -package_key $one_package_key + } } errmsg] } { - ns_log Error "Error creating application: $errmsg\n$::errorInfo" - ad_return_error "Problem Creating Application" "We had a problem creating the application." + ns_log Error "Error creating application: $errmsg\n$::errorInfo" + ad_return_error "Problem Creating Application" "We had a problem creating the application." } } -after_submit { ad_returnredirect $return_url Index: openacs-4/packages/acs-subsite/www/admin/attributes/add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/attributes/add-2.tcl,v diff -u -N -r1.8 -r1.8.2.1 --- openacs-4/packages/acs-subsite/www/admin/attributes/add-2.tcl 19 Jan 2018 14:09:48 -0000 1.8 +++ openacs-4/packages/acs-subsite/www/admin/attributes/add-2.tcl 16 May 2019 09:54:29 -0000 1.8.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/attribute-add.tcl - ad_page_contract { Adds attributes @@ -23,9 +21,9 @@ datatypes:multirow } -validate { dynamic_type -requires {object_type:notnull} { - if { ![package_type_dynamic_p $object_type] } { - ad_complain "The specified object type, $object_type, is not dynamic and therefore cannot be modified." - } + if { ![package_type_dynamic_p $object_type] } { + ad_complain "The specified object type, $object_type, is not dynamic and therefore cannot be modified." + } } } Index: openacs-4/packages/acs-subsite/www/admin/attributes/add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/attributes/add.tcl,v diff -u -N -r1.4 -r1.4.2.1 --- openacs-4/packages/acs-subsite/www/admin/attributes/add.tcl 7 Aug 2017 23:47:58 -0000 1.4 +++ openacs-4/packages/acs-subsite/www/admin/attributes/add.tcl 16 May 2019 09:54:29 -0000 1.4.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/attribute/add.tcl - ad_page_contract { Form to adds attributes @@ -18,17 +16,17 @@ datatypes:multirow } -validate { dynamic_type -requires {object_type:notnull} { - if { ![package_type_dynamic_p $object_type] } { - ad_complain "The specified object type, $object_type, is not dynamic and therefore cannot be modified." - } + if { ![package_type_dynamic_p $object_type] } { + ad_complain "The specified object type, $object_type, is not dynamic and therefore cannot be modified." + } } } set context [list "Add attribute"] set export_vars [export_vars -form {object_type return_url}] set object_pretty_name [db_string object_pretty_name { - select t.pretty_name + select t.pretty_name from acs_object_types t where t.object_type = :object_type }] @@ -44,8 +42,8 @@ order by lower(d.datatype) } { if { [attribute::datatype_validator_exists_p $datatype] } { - incr ctr - template::multirow append datatypes $datatype + incr ctr + template::multirow append datatypes $datatype } } Index: openacs-4/packages/acs-subsite/www/admin/attributes/delete-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/attributes/delete-2.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/admin/attributes/delete-2.tcl 19 Jan 2018 14:09:48 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/admin/attributes/delete-2.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/attributes/delete-2.tcl - ad_page_contract { Deletes the attribute and all values @@ -16,17 +14,17 @@ if {$operation eq "Yes, I really want to delete this attribute"} { db_transaction { - set object_type [db_string select_object_type { - select attr.object_type - from acs_attributes attr - where attr.attribute_id = :attribute_id - } -default ""] + set object_type [db_string select_object_type { + select attr.object_type + from acs_attributes attr + where attr.attribute_id = :attribute_id + } -default ""] - # If object type is empty, that means the attribute doesn't exist - if { $object_type ne "" && [attribute::delete $attribute_id] } { - # Recreate all the packages to use the new attribute - package_recreate_hierarchy $object_type - } + # If object type is empty, that means the attribute doesn't exist + if { $object_type ne "" && [attribute::delete $attribute_id] } { + # Recreate all the packages to use the new attribute + package_recreate_hierarchy $object_type + } } } elseif { $return_url eq "" } { set return_url [export_vars -base one attribute_id] Index: openacs-4/packages/acs-subsite/www/admin/attributes/edit-one.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/attributes/edit-one.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/admin/attributes/edit-one.tcl 7 Aug 2017 23:47:58 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/admin/attributes/edit-one.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/attributes/edit-one.tcl - ad_page_contract { Edits one attribute @@ -16,7 +14,7 @@ } -properties { context:onevalue focus:onevalue - attribute_pretty_name:onevalue + attribute_pretty_name:onevalue } permission::require_permission -object_id $id_column -privilege "write" @@ -29,55 +27,55 @@ template::form create edit_attribute template::element create edit_attribute attribute_id -value $attribute_id \ - -label "Attribute ID" -datatype text -widget hidden + -label "Attribute ID" -datatype text -widget hidden template::element create edit_attribute object_type -value $object_type \ - -label "Object type" -datatype text -widget hidden + -label "Object type" -datatype text -widget hidden # add the space to avoid looking like a switch template::element create edit_attribute id_column -value " $id_column" \ - -datatype text -widget hidden + -datatype text -widget hidden template::element create edit_attribute return_url -value $return_url \ - -optional -datatype text -widget hidden + -optional -datatype text -widget hidden if {$datatype eq "enumeration"} { set focus "" set option_list [db_list_of_lists select_enum_values { - select enum.pretty_name, enum.enum_value - from acs_enum_values enum - where enum.attribute_id = :attribute_id - order by enum.sort_order + select enum.pretty_name, enum.enum_value + from acs_enum_values enum + where enum.attribute_id = :attribute_id + order by enum.sort_order }] if { $min_n_values == 0 } { - # This is not a required option list... offer a default - lappend option_list [list " (no value) " ""] + # This is not a required option list... offer a default + lappend option_list [list " (no value) " ""] } template::element create edit_attribute attribute_value \ - -value $current_value \ - -datatype "text" \ - -widget select \ - -optional \ - -options $option_list \ - -label "$attribute_pretty_name" + -value $current_value \ + -datatype "text" \ + -widget select \ + -optional \ + -options $option_list \ + -label "$attribute_pretty_name" } else { set focus "edit_attribute.attribute_value" template::element create edit_attribute attribute_value \ - -value $current_value \ - -datatype "text" \ - -optional \ - -label "$attribute_pretty_name" + -value $current_value \ + -datatype "text" \ + -optional \ + -label "$attribute_pretty_name" } if { [template::form is_valid edit_attribute] } { - + set attribute_value [ns_set get [ns_getform] "attribute_value"] db_dml attribute_update \ - "update $type_table - set $attribute_column = :attribute_value + "update $type_table + set $attribute_column = :attribute_value where $type_column = :id_column" ad_returnredirect $return_url Index: openacs-4/packages/acs-subsite/www/admin/attributes/enum-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/attributes/enum-add-2.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/admin/attributes/enum-add-2.tcl 19 Jan 2018 14:09:48 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/admin/attributes/enum-add-2.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/attribute-add.tcl - ad_page_contract { Adds attributes @@ -19,28 +17,28 @@ db_transaction { foreach ideal_sort_order [array names attribute_enum_values] { - set sort_order [expr {$ideal_sort_order + $max_sort_order}] - set pretty_name $attribute_enum_values($ideal_sort_order) - # delete if the value is empty. Update otherwise - if { $pretty_name eq "" } { - db_dml delete_enum_value { - delete from acs_enum_values - where attribute_id = :attribute_id - and sort_order = :sort_order - } - } else { - db_dml update_enum_value { - update acs_enum_values v - set v.pretty_name = :pretty_name - where v.attribute_id = :attribute_id - and v.sort_order = :sort_order - } - if { [db_resultrows] == 0 } { - # No update - insert the row. Set the enum_value to - # the pretty_name - db_dml insert_enum_value {} - } - } + set sort_order [expr {$ideal_sort_order + $max_sort_order}] + set pretty_name $attribute_enum_values($ideal_sort_order) + # delete if the value is empty. Update otherwise + if { $pretty_name eq "" } { + db_dml delete_enum_value { + delete from acs_enum_values + where attribute_id = :attribute_id + and sort_order = :sort_order + } + } else { + db_dml update_enum_value { + update acs_enum_values v + set v.pretty_name = :pretty_name + where v.attribute_id = :attribute_id + and v.sort_order = :sort_order + } + if { [db_resultrows] == 0 } { + # No update - insert the row. Set the enum_value to + # the pretty_name + db_dml insert_enum_value {} + } + } } } Index: openacs-4/packages/acs-subsite/www/admin/attributes/one.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/attributes/one.tcl,v diff -u -N -r1.5 -r1.5.2.1 --- openacs-4/packages/acs-subsite/www/admin/attributes/one.tcl 7 Aug 2017 23:47:58 -0000 1.5 +++ openacs-4/packages/acs-subsite/www/admin/attributes/one.tcl 16 May 2019 09:54:29 -0000 1.5.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/attributes/one.tcl - ad_page_contract { Shows information about one attribute @@ -27,9 +25,9 @@ # names again db_1row select_attribute_info { - select a.attribute_id, a.object_type, a.table_name, a.attribute_name, - a.pretty_name, a.pretty_plural, a.sort_order, a.datatype, - a.default_value, a.min_n_values, a.max_n_values, a.storage, + select a.attribute_id, a.object_type, a.table_name, a.attribute_name, + a.pretty_name, a.pretty_plural, a.sort_order, a.datatype, + a.default_value, a.min_n_values, a.max_n_values, a.storage, a.static_p, a.column_name, t.dynamic_p from acs_attributes a, acs_object_types t where a.object_type = t.object_type @@ -39,17 +37,17 @@ # Set up a multirow datasource to process this data template::multirow create attr_props key value -foreach n [lsort [array names attribute]] { +foreach n [lsort [array names attribute]] { template::multirow append attr_props $n $attribute($n) } if {$attribute(datatype) eq "enumeration"} { # set up the enum values datasource db_multirow enum_values enum_values { - select v.enum_value, v.pretty_name - from acs_enum_values v - where v.attribute_id = :attribute_id - order by v.sort_order + select v.enum_value, v.pretty_name + from acs_enum_values v + where v.attribute_id = :attribute_id + order by v.sort_order } } Index: openacs-4/packages/acs-subsite/www/admin/attributes/value-delete-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/attributes/value-delete-2.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/admin/attributes/value-delete-2.tcl 19 Jan 2018 14:09:48 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/admin/attributes/value-delete-2.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/attributes/value-delete-2.tcl - ad_page_contract { Deletes a value @@ -11,13 +9,13 @@ } { attribute_id:naturalnum,notnull enum_value:trim,notnull - { operation:trim "No, I want to cancel my request" } + { operation:trim "No, I want to cancel my request" } { return_url:localurl "[export_vars -base one attribute_id]" } } if {$operation eq "Yes, I really want to delete this attribute value"} { db_transaction { - attribute::value_delete $attribute_id $enum_value + attribute::value_delete $attribute_id $enum_value } } Index: openacs-4/packages/acs-subsite/www/admin/group-types/change-join-policy-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/group-types/change-join-policy-2.tcl,v diff -u -N -r1.7 -r1.7.2.1 --- openacs-4/packages/acs-subsite/www/admin/group-types/change-join-policy-2.tcl 21 Jan 2018 00:35:29 -0000 1.7 +++ openacs-4/packages/acs-subsite/www/admin/group-types/change-join-policy-2.tcl 16 May 2019 09:54:29 -0000 1.7.2.1 @@ -1,5 +1,3 @@ -# /packages/acs-subsite/www/admin/groups/one.tcl - ad_page_contract { Change default join policy for a group type. @@ -36,16 +34,16 @@ if {!$group_type_exists_p} { db_dml set_default_join_policy { - insert into group_types - (group_type, default_join_policy) - values - (:group_type, :default_join_policy) + insert into group_types + (group_type, default_join_policy) + values + (:group_type, :default_join_policy) } } else { db_dml update_join_policy { - update group_types - set default_join_policy = :default_join_policy - where group_type = :group_type + update group_types + set default_join_policy = :default_join_policy + where group_type = :group_type } } Index: openacs-4/packages/acs-subsite/www/admin/group-types/change-join-policy.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/group-types/change-join-policy.tcl,v diff -u -N -r1.8 -r1.8.2.1 --- openacs-4/packages/acs-subsite/www/admin/group-types/change-join-policy.tcl 21 Jan 2018 00:35:29 -0000 1.8 +++ openacs-4/packages/acs-subsite/www/admin/group-types/change-join-policy.tcl 16 May 2019 09:54:29 -0000 1.8.2.1 @@ -1,5 +1,3 @@ -# /packages/acs-subsite/www/admin/groups/one.tcl - ad_page_contract { Change default join policy for a group type. @@ -23,8 +21,8 @@ set context [list \ [list "[ad_conn package_url]admin/group-types/" "Group types"] \ - [list [export_vars -base one group_type] "One type"] \ - "Edit default join policy"] + [list [export_vars -base one group_type] "One type"] \ + "Edit default join policy"] if { ![db_0or1row select_pretty_name {}] } { ad_return_error "Group type doesn't exist" "Group type \"$group_type\" doesn't exist" Index: openacs-4/packages/acs-subsite/www/admin/group-types/delete-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/group-types/delete-2.tcl,v diff -u -N -r1.12 -r1.12.2.1 --- openacs-4/packages/acs-subsite/www/admin/group-types/delete-2.tcl 11 Dec 2018 14:14:41 -0000 1.12 +++ openacs-4/packages/acs-subsite/www/admin/group-types/delete-2.tcl 16 May 2019 09:54:29 -0000 1.12.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/group-types/delete-2.tcl - ad_page_contract { Deletes a group type @@ -16,17 +14,17 @@ context:onevalue } -validate { user_can_delete_group -requires {group_type:notnull} { - if { ![group_type::drop_all_groups_p $group_type] } { - ad_complain "Groups exist that you do not have permission to delete. All groups must be deleted before you can remove a group type. Please contact the site administrator." - } + if { ![group_type::drop_all_groups_p $group_type] } { + ad_complain "Groups exist that you do not have permission to delete. All groups must be deleted before you can remove a group type. Please contact the site administrator." + } } } if { $operation ne "Yes, I really want to delete this group type" } { if { $return_url eq "" } { - ad_returnredirect [export_vars -base one {group_type}] + ad_returnredirect [export_vars -base one {group_type}] } else { - ad_returnredirect $return_url + ad_returnredirect $return_url } ad_script_abort } Index: openacs-4/packages/acs-subsite/www/admin/group-types/delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/group-types/delete.tcl,v diff -u -N -r1.7 -r1.7.2.1 --- openacs-4/packages/acs-subsite/www/admin/group-types/delete.tcl 21 Jan 2018 00:35:29 -0000 1.7 +++ openacs-4/packages/acs-subsite/www/admin/group-types/delete.tcl 16 May 2019 09:54:29 -0000 1.7.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/group-types/delete.tcl - ad_page_contract { Confirms deletion of a group type @@ -22,9 +20,9 @@ relations_to_this_type:onevalue } -validate { user_can_delete_type -requires {group_type:notnull} { - if { ![group_type::drop_all_groups_p $group_type] } { - ad_complain "Groups exist that you do not have permission to delete. All groups must be deleted before you can remove a group type. Please contact the site administrator." - } + if { ![group_type::drop_all_groups_p $group_type] } { + ad_complain "Groups exist that you do not have permission to delete. All groups must be deleted before you can remove a group type. Please contact the site administrator." + } } } @@ -49,15 +47,15 @@ if { $subtypes_exist_p } { set return_url "[ad_conn url]?[ad_conn query]" - # Just grab direct children... + # Just grab direct children... template::multirow create subtypes pretty_name export_vars db_foreach select_subtypes { - select t.object_type as group_type, t.pretty_name + select t.object_type as group_type, t.pretty_name from acs_object_types t where t.supertype = :group_type } { - template::multirow append subtypes $pretty_name [export_vars {group_type return_url}] + template::multirow append subtypes $pretty_name [export_vars {group_type return_url}] } ad_return_template "delete-subtypes-exist" return @@ -73,13 +71,13 @@ template::multirow create rel_types pretty_name export_vars db_foreach select_rel_types { - select rel.rel_type, t.pretty_name + select rel.rel_type, t.pretty_name from acs_rel_types rel, acs_object_types t - where (rel.object_type_one = :group_type + where (rel.object_type_one = :group_type or rel.object_type_two = :group_type) - and rel.rel_type = t.object_type + and rel.rel_type = t.object_type } { - template::multirow append rel_types $pretty_name [export_vars {rel_type return_url}] + template::multirow append rel_types $pretty_name [export_vars {rel_type return_url}] } ad_return_template "delete-rel-types-exist" return @@ -88,7 +86,7 @@ set export_form_vars [export_vars -form {group_type return_url}] set groups_of_this_type [util_commify_number [db_string groups_of_this_type { - select count(o.object_id) + select count(o.object_id) from acs_objects o where o.object_type = :group_type }]] Index: openacs-4/packages/acs-subsite/www/admin/group-types/rel-type-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/group-types/rel-type-add-2.tcl,v diff -u -N -r1.8 -r1.8.2.1 --- openacs-4/packages/acs-subsite/www/admin/group-types/rel-type-add-2.tcl 21 Jan 2018 00:35:29 -0000 1.8 +++ openacs-4/packages/acs-subsite/www/admin/group-types/rel-type-add-2.tcl 16 May 2019 09:54:29 -0000 1.8.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/group-types/rel-type-add-2.tcl - ad_page_contract { Adds the relationship type to the list of allowable ones for this @@ -15,12 +13,12 @@ { return_url:localurl "" } } -validate { rel_type_acceptable_p -requires {group_type:notnull rel_type:notnull} { - # This test makes sure this group_type can accept the - # specified rel type. This means the group type is itself a - # type (or subtype) of rel_type.object_type_one - if { ![db_string types_match_p {}] } { - ad_complain "Groups of type \"$group_type\" cannot use relationships of type \"$rel_type.\"" - } + # This test makes sure this group_type can accept the + # specified rel type. This means the group type is itself a + # type (or subtype) of rel_type.object_type_one + if { ![db_string types_match_p {}] } { + ad_complain "Groups of type \"$group_type\" cannot use relationships of type \"$rel_type.\"" + } } } @@ -35,10 +33,10 @@ } } err_msg] } { # Does this pair already exists? if { ![db_string exists_p {select count(*) from group_type_rels where group_type = :group_type and rel_type = :rel_type}] } { - ad_return_error \ + ad_return_error \ "Error inserting to database" \ $err_msg - ad_script_abort + ad_script_abort } } Index: openacs-4/packages/acs-subsite/www/admin/group-types/rel-type-remove-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/group-types/rel-type-remove-2.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/admin/group-types/rel-type-remove-2.tcl 19 Jan 2018 14:09:48 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/admin/group-types/rel-type-remove-2.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/group-types/rel-type-remove-2.tcl - ad_page_contract { Removes the specified relation from the list of allowable ones @@ -17,18 +15,18 @@ if { $return_url eq "" } { # Pull out the group_type now as we may delete the row later db_1row select_group_type { - select g.group_type - from group_type_rels g - where g.group_rel_type_id = :group_rel_type_id + select g.group_type + from group_type_rels g + where g.group_rel_type_id = :group_rel_type_id } set return_url [export_vars -base one {group_type}] } if {$operation eq "Yes, I really want to remove this relationship type"} { db_transaction { - db_dml remove_relation { - delete from group_type_rels where group_rel_type_id = :group_rel_type_id - } + db_dml remove_relation { + delete from group_type_rels where group_rel_type_id = :group_rel_type_id + } } } Index: openacs-4/packages/acs-subsite/www/admin/groups/constraints-create-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/groups/constraints-create-2.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/admin/groups/constraints-create-2.tcl 19 Jan 2018 14:09:48 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/admin/groups/constraints-create-2.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -1,10 +1,8 @@ -# /packages/mbryzek-subsite/www/admin/groups/constraints-create-2.tcl - ad_page_contract { Optionally directs the user to create a relational segment (based on the value of operation) - + @author mbryzek@arsdigita.com @creation-date Thu Jan 4 11:02:15 2001 @cvs-id $Id$ @@ -20,16 +18,16 @@ if {$operation eq "yes"} { if { $return_url eq "" } { - # Setup return_url to send up back to the group admin page - # when we're all done - set return_url [export_vars -base [ad_conn package_url]/admin/groups/one group_id] + # Setup return_url to send up back to the group admin page + # when we're all done + set return_url [export_vars -base [ad_conn package_url]/admin/groups/one group_id] } ad_returnredirect [export_vars -base ../rel-segments/new {group_id rel_type return_url}] ad_script_abort } else { if { $return_url eq "" } { - set return_url [export_vars -base one group_id] + set return_url [export_vars -base one group_id] } ad_returnredirect $return_url ad_script_abort Index: openacs-4/packages/acs-subsite/www/admin/groups/elements-by-rel-type.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/groups/elements-by-rel-type.tcl,v diff -u -N -r1.12 -r1.12.2.1 --- openacs-4/packages/acs-subsite/www/admin/groups/elements-by-rel-type.tcl 29 Nov 2018 10:01:42 -0000 1.12 +++ openacs-4/packages/acs-subsite/www/admin/groups/elements-by-rel-type.tcl 16 May 2019 09:54:29 -0000 1.12.2.1 @@ -1,7 +1,5 @@ ad_include_contract { - /packages/subsite/www/admin/groups/elements-by-rel-type.tcl - Datasource for elements-by-rel-type.adp (meant to be included by other templates) @@ -53,22 +51,22 @@ rr.pretty_name as role_pretty_name, rels.num_rels from rc_valid_rel_types g - left outer join rel_segments s using (group_id, rel_type) - left outer join group_rels gr using (group_id, rel_type) - left outer join - (select rel_type, count(*) as num_rels - from group_component_map - where group_id = :group_id - and group_id = container_id - group by rel_type - UNION ALL - select rel_type, count(*) as num_rels - from group_approved_member_map - where group_id = :group_id - and group_id = container_id + left outer join rel_segments s using (group_id, rel_type) + left outer join group_rels gr using (group_id, rel_type) + left outer join + (select rel_type, count(*) as num_rels + from group_component_map + where group_id = :group_id + and group_id = container_id + group by rel_type + UNION ALL + select rel_type, count(*) as num_rels + from group_approved_member_map + where group_id = :group_id + and group_id = container_id group by rel_type ) rels using (rel_type), - acs_rel_types rel_types, + acs_rel_types rel_types, acs_rel_roles rr where g.rel_type = rel_types.rel_type and rr.role = rel_types.role_two @@ -78,7 +76,7 @@ # The role pretty names can be message catalog keys that need # to be localized before they are displayed set role_pretty_name [lang::util::localize $role_pretty_name] - set role_pretty_plural [lang::util::localize $role_pretty_plural] + set role_pretty_plural [lang::util::localize $role_pretty_plural] set create_rel_segment_url [export_vars -base "../rel-segments/new" {group_id rel_type return_url}] set elements_display_url [export_vars -base "elements-display" {group_id rel_type}] Index: openacs-4/packages/acs-subsite/www/admin/groups/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/groups/index.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/admin/groups/index.tcl 28 Nov 2018 11:28:14 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/admin/groups/index.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -1,5 +1,3 @@ -# /packages/subsite/www/admin/groups/index.tcl - ad_page_contract { Shows the user all groups on which s/he has permission @@ -12,9 +10,9 @@ {view_by "group_type"} } -validate { view_by_valid_p { - if { $view_by ni {group_type rel_type}} { - ad_complain "view_by is invalid." - } + if { $view_by ni {group_type rel_type}} { + ad_complain "view_by is invalid." + } } } -properties { context:onevalue Index: openacs-4/packages/acs-subsite/www/admin/groups/new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/groups/new.tcl,v diff -u -N -r1.14 -r1.14.2.1 --- openacs-4/packages/acs-subsite/www/admin/groups/new.tcl 11 Dec 2018 16:48:00 -0000 1.14 +++ openacs-4/packages/acs-subsite/www/admin/groups/new.tcl 16 May 2019 09:54:29 -0000 1.14.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/groups/new.tcl - ad_page_contract { Adds a new group @@ -23,11 +21,11 @@ attributes:multirow } -validate { double_click -requires {group_id:notnull} { - if { [db_string group_exists_p { - select count(*) from groups where group_id = :group_id - }] } { - ad_complain "The specified group already exists... Maybe you double-clicked?" - } + if { [db_string group_exists_p { + select count(*) from groups where group_id = :group_id + }] } { + ad_complain "The specified group already exists... Maybe you double-clicked?" + } } } @@ -111,21 +109,21 @@ if { [template::form is_request add_group] } { foreach var $export_var_list { - template::element create add_group $var \ - -value [set $var] \ - -datatype text \ - -widget hidden + template::element create add_group $var \ + -value [set $var] \ + -datatype text \ + -widget hidden } # Set the object id for the new group template::element set_properties add_group group_id \ - -value [db_nextval "acs_object_id_seq"] + -value [db_nextval "acs_object_id_seq"] } if { [template::form is_valid add_group] } { db_transaction { - set group_id [group::new \ + set group_id [group::new \ -form_id add_group \ -variable_prefix group \ -group_id $group_id \ @@ -143,14 +141,14 @@ set package_url [ad_conn package_url] foreach group_rel_type $group_rel_type_list { - lassign $group_rel_type next_group_id next_rel_type - lappend return_url_list \ - [export_vars -base "${package_url}admin/relations/add" { - {group_id $next_group_id} - {rel_type [ad_urlencode $next_rel_type]} - {party_id $group_id} - {allow_out_of_scope_p t} - }] + lassign $group_rel_type next_group_id next_rel_type + lappend return_url_list \ + [export_vars -base "${package_url}admin/relations/add" { + {group_id $next_group_id} + {rel_type [ad_urlencode $next_rel_type]} + {party_id $group_id} + {allow_out_of_scope_p t} + }] } # Add the original return_url as the last one in the list Index: openacs-4/packages/acs-subsite/www/admin/groups/one.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/groups/one.tcl,v diff -u -N -r1.13 -r1.13.2.1 --- openacs-4/packages/acs-subsite/www/admin/groups/one.tcl 12 Dec 2018 18:20:08 -0000 1.13 +++ openacs-4/packages/acs-subsite/www/admin/groups/one.tcl 16 May 2019 09:54:29 -0000 1.13.2.1 @@ -1,5 +1,3 @@ -# /packages/acs-subsite/www/admin/groups/one.tcl - ad_page_contract { View one group. @@ -55,24 +53,24 @@ set context [list [list "[ad_conn package_url]admin/groups/" "Groups"] "One Group"] attribute::multirow \ - -start_with group \ - -datasource_name attributes \ - -object_type $group_type \ - $group_id + -start_with group \ + -datasource_name attributes \ + -object_type $group_type \ + $group_id if {[apm_package_installed_p categories]} { set category_url [site_node::get_package_url -package_key categories] set mapped_trees [category_tree::get_mapped_trees $group_id] foreach mapped_tree $mapped_trees { - lassign $mapped_tree tree_id tree_name subtree_id - if {$subtree_id ne ""} { - set tree_name "${tree_name}::[category::get_name $subtree_id]" - } - lappend category_trees $tree_name + lassign $mapped_tree tree_id tree_name subtree_id + if {$subtree_id ne ""} { + set tree_name "${tree_name}::[category::get_name $subtree_id]" + } + lappend category_trees $tree_name } if {$mapped_trees eq ""} { - set category_trees "None" + set category_trees "None" } set category_trees [join $category_trees ,] } Index: openacs-4/packages/acs-subsite/www/admin/groups/rel-type-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/groups/rel-type-add-2.tcl,v diff -u -N -r1.10 -r1.10.2.1 --- openacs-4/packages/acs-subsite/www/admin/groups/rel-type-add-2.tcl 3 Jul 2018 13:26:27 -0000 1.10 +++ openacs-4/packages/acs-subsite/www/admin/groups/rel-type-add-2.tcl 16 May 2019 09:54:29 -0000 1.10.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/groups/rel-type-add-2.tcl - ad_page_contract { Adds a relationship type to the list of permissible ones for this @@ -15,17 +13,17 @@ { return_url:localurl "" } } -validate { rel_type_acceptable_p -requires {group_id:notnull rel_type:notnull} { - # This test makes sure this group can accept the specified rel - # type. This means the group is itself a type (or subtype) of - # rel_type.object_type_one - db_1row select_group_type { - select o.object_type as group_type - from acs_objects o - where o.object_id = :group_id - } - if { ![db_string types_match_p {}] } { - ad_complain "Groups of type \"$group_type\" cannot use relationships of type \"$rel_type.\"" - } + # This test makes sure this group can accept the specified rel + # type. This means the group is itself a type (or subtype) of + # rel_type.object_type_one + db_1row select_group_type { + select o.object_type as group_type + from acs_objects o + where o.object_id = :group_id + } + if { ![db_string types_match_p {}] } { + ad_complain "Groups of type \"$group_type\" cannot use relationships of type \"$rel_type.\"" + } } } @@ -39,17 +37,17 @@ } } err_msg] } { # Does this pair already exists? if { ![db_string exists_p {}] } { - ad_return_error "Error inserting to database" $err_msg - ad_script_abort + ad_return_error "Error inserting to database" $err_msg + ad_script_abort } } # Now let's see if there is no relational segment. If not, offer to create one if { [db_string segment_exists_p {}] } { if { $return_url eq "" } { - set return_url [export_vars -base one group_id] + set return_url [export_vars -base one group_id] } - ad_returnredirect $return_url + ad_returnredirect $return_url } else { ad_returnredirect [export_vars -base constraints-create {group_id rel_type return_url}] } Index: openacs-4/packages/acs-subsite/www/admin/groups/rel-type-remove-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/groups/rel-type-remove-2.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/admin/groups/rel-type-remove-2.tcl 19 Jan 2018 14:09:48 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/admin/groups/rel-type-remove-2.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/groups/rel-type-remove-2.tcl - ad_page_contract { Removes the specified relation from the list of allowable ones @@ -28,36 +26,36 @@ if {$operation eq "Yes, I really want to delete this relationship type"} { set rel_id_list [db_list select_rel_ids { - select r.rel_id + select r.rel_id from acs_rels r - where r.rel_type = :rel_type - and r.object_id_one = :group_id + where r.rel_type = :rel_type + and r.object_id_one = :group_id }] - + db_transaction { - # Remove each relation - foreach rel_id $rel_id_list { - relation_remove $rel_id - } + # Remove each relation + foreach rel_id $rel_id_list { + relation_remove $rel_id + } - # Remove the relational segment for this group/rel type if it exists - if { [db_0or1row select_segments { - select segment_id - from rel_segments - where group_id = :group_id - and rel_type = :rel_type - }] } { - rel_segments_delete $segment_id - } + # Remove the relational segment for this group/rel type if it exists + if { [db_0or1row select_segments { + select segment_id + from rel_segments + where group_id = :group_id + and rel_type = :rel_type + }] } { + rel_segments_delete $segment_id + } - # now remove this relationship type from the list of allowable - # ones for this group - db_dml remove_relationship_type { - delete from group_rels where group_rel_id = :group_rel_id - } + # now remove this relationship type from the list of allowable + # ones for this group + db_dml remove_relationship_type { + delete from group_rels where group_rel_id = :group_rel_id + } } on_error { - ad_return_error "Error removing this relationship type" $errmsg - ad_script_abort + ad_return_error "Error removing this relationship type" $errmsg + ad_script_abort } Index: openacs-4/packages/acs-subsite/www/admin/host-node-map/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/host-node-map/index.tcl,v diff -u -N -r1.12 -r1.12.2.1 --- openacs-4/packages/acs-subsite/www/admin/host-node-map/index.tcl 15 Jun 2018 21:25:50 -0000 1.12 +++ openacs-4/packages/acs-subsite/www/admin/host-node-map/index.tcl 16 May 2019 09:54:29 -0000 1.12.2.1 @@ -15,18 +15,18 @@ -multirow host_node_pairs \ -key node_id \ -elements { - host { - label "[_ acs-subsite.Hostname]" - } - node_id { - label "[_ acs-subsite.Root_Node]" - } - url { - label "[_ acs-subsite.Root_URL]" - } - delete_url { - display_template "delete" - } + host { + label "[_ acs-subsite.Hostname]" + } + node_id { + label "[_ acs-subsite.Root_Node]" + } + url { + label "[_ acs-subsite.Root_URL]" + } + delete_url { + display_template "delete" + } } set root_node_id [site_node::get_node_id -url "/"] @@ -67,22 +67,22 @@ ad_form -name add_host_node_mapping -export {parent_node_id} -form { {host:text(text) - {label "[_ acs-subsite.Hostname]"} - {html {size 40}} - {value "mydomain.com"} - {help_text "[_ acs-subsite.Hostname_must_be_unique]"} + {label "[_ acs-subsite.Hostname]"} + {html {size 40}} + {value "mydomain.com"} + {help_text "[_ acs-subsite.Hostname_must_be_unique]"} } {root:text(radio) - {label "[_ acs-subsite.Root_Node]"} - {options $sorted_node_list} - {help_text "[_ acs-subsite.Site_node_you_would_like_to_map_hostname_to]"} + {label "[_ acs-subsite.Root_Node]"} + {options $sorted_node_list} + {help_text "[_ acs-subsite.Site_node_you_would_like_to_map_hostname_to]"} } {submit:text(submit) - {label "[_ acs-subsite.Add_Pair]"} + {label "[_ acs-subsite.Add_Pair]"} } } -validate { {host - {![db_string check_host {select 1 from host_node_map where host = :host} -default 0]} + {![db_string check_host {select 1 from host_node_map where host = :host} -default 0]} "Host must be unique" } } -on_submit { Index: openacs-4/packages/acs-subsite/www/admin/object-types/one.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/object-types/one.tcl,v diff -u -N -r1.13.2.1 -r1.13.2.2 --- openacs-4/packages/acs-subsite/www/admin/object-types/one.tcl 13 Mar 2019 11:27:53 -0000 1.13.2.1 +++ openacs-4/packages/acs-subsite/www/admin/object-types/one.tcl 16 May 2019 09:54:29 -0000 1.13.2.2 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/index.tcl - ad_page_contract { View an OpenACS Object Type @@ -53,7 +51,7 @@ Table Name Column Name -}] +}] db_foreach attribute { select attribute_name, @@ -89,7 +87,7 @@ " if { $i > 0 } { - append page " + append page "

Attributes: $body @@ -111,8 +109,8 @@ set i 0 db_foreach attribute_comment {} { - incr i - append body " + incr i + append body " [string tolower $column_name] [string tolower $data_type] @@ -124,7 +122,7 @@ " if { $i > 0 } { - append page [subst {

Table Attributes:

$body\n}] + append page [subst {

Table Attributes:

$body\n}] } } @@ -133,8 +131,8 @@ db_foreach package_index {} { incr i append body [subst { -

[ns_quotehtml $text]
-

+

[ns_quotehtml $text]
+

}] } Index: openacs-4/packages/acs-subsite/www/admin/parties/new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/parties/new.tcl,v diff -u -N -r1.13 -r1.13.2.1 --- openacs-4/packages/acs-subsite/www/admin/parties/new.tcl 7 Jun 2018 17:30:17 -0000 1.13 +++ openacs-4/packages/acs-subsite/www/admin/parties/new.tcl 16 May 2019 09:54:29 -0000 1.13.2.1 @@ -1,5 +1,3 @@ -# /packages/subsite/www/admin/parties/new.tcl - ad_page_contract { Adds a new party @@ -30,8 +28,8 @@ } set export_var_list [list \ - party_id party_type add_to_group_id add_with_rel_type \ - return_url party_type_exact_p group_rel_type_list] + party_id party_type add_to_group_id add_with_rel_type \ + return_url party_type_exact_p group_rel_type_list] db_1row group_info { select group_name as add_to_group_name, @@ -49,8 +47,8 @@ # based on the group's join policy. if {$ancestor_rel_type eq "membership_rel"} { if {$add_to_group_join_policy eq "closed" && !$create_p} { - ad_complain "You do not have permission to add elements to $add_to_group_name" - return + ad_complain "You do not have permission to add elements to $add_to_group_name" + return } set member_state [group::default_member_state -join_policy $add_to_group_join_policy -create_p $create_p] @@ -74,43 +72,43 @@ if {$group_rel_type_list eq ""} { set required_group_rel_type_list [relation_required_segments_multirow \ - -datasource_name required_segments \ - -group_id $add_to_group_id \ - -rel_type $add_with_rel_type] + -datasource_name required_segments \ + -group_id $add_to_group_id \ + -rel_type $add_with_rel_type] if {[llength $required_group_rel_type_list] > 0} { - # There are required segments that the soon-to-exist party must be in - # before it can be added to $add_to_group_id with rel type - # $add_with_rel_type. We'll return a notice to the user, and give - # them a link to begin the process of adding the party in the right - # segments. + # There are required segments that the soon-to-exist party must be in + # before it can be added to $add_to_group_id with rel type + # $add_with_rel_type. We'll return a notice to the user, and give + # them a link to begin the process of adding the party in the right + # segments. - # set up variables for template - set rel_type_pretty_name [subsite::util::object_type_pretty_name $add_with_rel_type] - set group_name [acs_object_name $add_to_group_id] - set object_type_pretty_name $party_type_pretty_name + # set up variables for template + set rel_type_pretty_name [subsite::util::object_type_pretty_name $add_with_rel_type] + set group_name [acs_object_name $add_to_group_id] + set object_type_pretty_name $party_type_pretty_name - # We're going to have to pass the required_group_rel_type_list to the - # next page. The easiest way I see to do this is just encode the list - # in a variable, since the list is just a string anyways. + # We're going to have to pass the required_group_rel_type_list to the + # next page. The easiest way I see to do this is just encode the list + # in a variable, since the list is just a string anyways. - # We don't care about the first group/rel_type combo, because we'll pass - # that information explicitly in other variables. - set group_rel_type_list [lrange $required_group_rel_type_list 1 end] + # We don't care about the first group/rel_type combo, because we'll pass + # that information explicitly in other variables. + set group_rel_type_list [lrange $required_group_rel_type_list 1 end] - # We also want to make sure that the user is finally returned to a page - # where they can put the new party in the original group they were - # attempting, and with the original relationship type they wanted. - # We can't use return_url because we don't yet know the party_id. So - # we'll just add to group_rel_type_list - lappend group_rel_type_list [list $add_to_group_id $add_with_rel_type] + # We also want to make sure that the user is finally returned to a page + # where they can put the new party in the original group they were + # attempting, and with the original relationship type they wanted. + # We can't use return_url because we don't yet know the party_id. So + # we'll just add to group_rel_type_list + lappend group_rel_type_list [list $add_to_group_id $add_with_rel_type] - lappend export_var_list group_rel_type_list + lappend export_var_list group_rel_type_list - set export_url_vars [export_vars -exclude {add_to_group_id add_with_rel_type} $export_var_list] + set export_url_vars [export_vars -exclude {add_to_group_id add_with_rel_type} $export_var_list] - ad_return_template new-list-required-segments - return + ad_return_template new-list-required-segments + return } } @@ -123,13 +121,13 @@ set object_type_path_list [subsite::util::object_type_path_list $party_type party] set redirects_for_type [list \ - group "groups/new?group_id=$party_id&group_type_exact_p=$party_type_exact_p&group_type=$party_type&[export_vars -exclude {party_id party_type_exact_p party_type} $export_var_list]" \ - rel_segment "rel-segments/new?segment_id=$party_id&group_id=$add_to_group_id" \ - user "users/new?user_id=$party_id&[export_vars -exclude {party_id party_type_exact_p party_type} $export_var_list]"] + group "groups/new?group_id=$party_id&group_type_exact_p=$party_type_exact_p&group_type=$party_type&[export_vars -exclude {party_id party_type_exact_p party_type} $export_var_list]" \ + rel_segment "rel-segments/new?segment_id=$party_id&group_id=$add_to_group_id" \ + user "users/new?user_id=$party_id&[export_vars -exclude {party_id party_type_exact_p party_type} $export_var_list]"] foreach {type url} $redirects_for_type { if {[lsearch $object_type_path_list $type] != -1} { - ad_returnredirect [ad_conn package_url]admin/$url + ad_returnredirect [ad_conn package_url]admin/$url ad_script_abort } } @@ -157,15 +155,15 @@ if { [template::form is_request add_party] } { foreach var $export_var_list { - template::element create add_party $var \ - -value [set $var] \ - -datatype text \ - -widget hidden + template::element create add_party $var \ + -value [set $var] \ + -datatype text \ + -widget hidden } # Set the object id for the new party template::element set_properties add_party party_id \ - -value [db_nextval "acs_object_id_seq"] + -value [db_nextval "acs_object_id_seq"] } @@ -177,28 +175,28 @@ if { [template::form is_valid add_party] } { db_transaction { - set party_id [party::new \ + set party_id [party::new \ -email ${party.email} \ -form_id add_party \ -variable_prefix party \ -party_id $party_id \ -context_id [ad_conn package_id] \ $party_type] - relation_add -member_state $member_state $add_with_rel_type $add_to_group_id $party_id + relation_add -member_state $member_state $add_with_rel_type $add_to_group_id $party_id } # there may be more segments to put this new party in before the # user's original request is complete. So build a return_url stack foreach group_rel_type $group_rel_type_list { - lassign $group_rel_type next_group_id next_rel_type - lappend return_url_list \ - [export_vars -base "../relations/add" { - {group_id $next_group_id} - {rel_type $next_rel_type} - party_id - {allow_out_of_scope_p t} - }] + lassign $group_rel_type next_group_id next_rel_type + lappend return_url_list \ + [export_vars -base "../relations/add" { + {group_id $next_group_id} + {rel_type $next_rel_type} + party_id + {allow_out_of_scope_p t} + }] } # Add the original return_url as the last one in the list Index: openacs-4/packages/acs-subsite/www/admin/rel-segments/constraints-redirect.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/rel-segments/constraints-redirect.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/admin/rel-segments/constraints-redirect.tcl 19 Jan 2018 14:09:48 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/admin/rel-segments/constraints-redirect.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/rel-segments/constraints-redirect.tcl - ad_page_contract { Optionally redirects user to enter constraints @@ -20,7 +18,7 @@ ad_returnredirect "constraints/new?rel_segment=$segment_id&[export_vars return_url]" } else { if { $return_url eq "" } { - set return_url [export_vars -base one segment_id] + set return_url [export_vars -base one segment_id] } ad_returnredirect $return_url } Index: openacs-4/packages/acs-subsite/www/admin/rel-segments/new-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/rel-segments/new-2.tcl,v diff -u -N -r1.8 -r1.8.2.1 --- openacs-4/packages/acs-subsite/www/admin/rel-segments/new-2.tcl 14 Jun 2018 15:50:18 -0000 1.8 +++ openacs-4/packages/acs-subsite/www/admin/rel-segments/new-2.tcl 16 May 2019 09:54:29 -0000 1.8.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/rel-segments/new-2.tcl - ad_page_contract { Form to create a new relational segment (Use this only if you know @@ -21,14 +19,14 @@ group_name:onevalue } -validate { group_in_scope_p -requires {group_id:notnull} { - if { ![application_group::contains_party_p -party_id $group_id -include_self]} { - ad_complain "The group either does not exist or does not belong to this subsite." - } + if { ![application_group::contains_party_p -party_id $group_id -include_self]} { + ad_complain "The group either does not exist or does not belong to this subsite." + } } relation_in_scope_p -requires {rel_id:notnull permission_p} { - if { ![application_group::contains_relation_p -rel_id $rel_id]} { - ad_complain "The relation either does not exist or does not belong to this subsite." - } + if { ![application_group::contains_relation_p -rel_id $rel_id]} { + ad_complain "The relation either does not exist or does not belong to this subsite." + } } } Index: openacs-4/packages/acs-subsite/www/admin/rel-segments/new-3.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/rel-segments/new-3.tcl,v diff -u -N -r1.9 -r1.9.2.1 --- openacs-4/packages/acs-subsite/www/admin/rel-segments/new-3.tcl 19 Jan 2018 14:09:48 -0000 1.9 +++ openacs-4/packages/acs-subsite/www/admin/rel-segments/new-3.tcl 16 May 2019 09:54:29 -0000 1.9.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/rel-segments/new-3.tcl - ad_page_contract { Creates a relational segment. Finished by asking the user to @@ -20,14 +18,14 @@ segment_name:onevalue } -validate { group_in_scope_p -requires {group_id:notnull} { - if { ![application_group::contains_party_p -party_id $group_id -include_self]} { - ad_complain "The group either does not exist or does not belong to this subsite." - } + if { ![application_group::contains_party_p -party_id $group_id -include_self]} { + ad_complain "The group either does not exist or does not belong to this subsite." + } } relation_in_scope_p -requires {rel_id:notnull permission_p} { - if { ![application_group::contains_relation_p -rel_id $rel_id]} { - ad_complain "The relation either does not exist or does not belong to this subsite." - } + if { ![application_group::contains_relation_p -rel_id $rel_id]} { + ad_complain "The relation either does not exist or does not belong to this subsite." + } } } @@ -40,14 +38,14 @@ } on_error { # Let's see if this segment already exists set segment_id [db_string select_segment_id { - select s.segment_id - from rel_segments s - where s.group_id = :group_id - and s.rel_type = :rel_type + select s.segment_id + from rel_segments s + where s.group_id = :group_id + and s.rel_type = :rel_type } -default ""] if { $segment_id eq "" } { - ad_return_error "Error creating segment" $errmsg - ad_script_abort + ad_return_error "Error creating segment" $errmsg + ad_script_abort } } Index: openacs-4/packages/acs-subsite/www/admin/rel-segments/new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/rel-segments/new.tcl,v diff -u -N -r1.7 -r1.7.2.1 --- openacs-4/packages/acs-subsite/www/admin/rel-segments/new.tcl 7 Aug 2017 23:47:58 -0000 1.7 +++ openacs-4/packages/acs-subsite/www/admin/rel-segments/new.tcl 16 May 2019 09:54:29 -0000 1.7.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/rel-segments/new.tcl - ad_page_contract { Form to create a new relational segment @@ -21,9 +19,9 @@ subsite_group_id:onevalue } -validate { group_in_scope_p -requires {group_id:notnull} { - if { ![application_group::contains_party_p -party_id $group_id -include_self]} { - ad_complain "The group either does not exist or does not belong to this subsite." - } + if { ![application_group::contains_party_p -party_id $group_id -include_self]} { + ad_complain "The group either does not exist or does not belong to this subsite." + } } } @@ -33,7 +31,7 @@ if { $rel_type ne "" } { ad_returnredirect [export_vars -base new-2 {group_id rel_type return_url}] ad_script_abort -} +} permission::require_permission -object_id $group_id -privilege "read" Index: openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2.tcl,v diff -u -N -r1.7 -r1.7.2.1 --- openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2.tcl 19 Jan 2018 14:09:48 -0000 1.7 +++ openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2.tcl 16 May 2019 09:54:29 -0000 1.7.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/rel-types/delete-2.tcl - ad_page_contract { Deletes the relationship type @@ -17,45 +15,45 @@ if { $operation ne "Yes, I really want to delete this relationship type" } { # set the return_url to something useful if we are not deleting if { $return_url eq "" } { - set return_url [export_vars -base one rel_type] + set return_url [export_vars -base one rel_type] } } else { db_1row select_type_info { - select t.table_name - from acs_object_types t - where t.object_type = :rel_type + select t.table_name + from acs_object_types t + where t.object_type = :rel_type } set user_id [ad_conn user_id] set rel_id_list [db_list select_rel_ids {}] set segment_id [db_string select_segment_id {} -default ""] - + # delete all relations, all segments, and drop the relationship # type. This will fail if a relation / segment for this type is created # after we select out the list of rels/segments to delete but before we # finish dropping the type. db_transaction { - foreach rel_id $rel_id_list { - relation_remove $rel_id - } - - if { $segment_id ne "" } { - rel_segments_delete $segment_id - } - - db_exec_plsql drop_relationship_type {} + foreach rel_id $rel_id_list { + relation_remove $rel_id + } + + if { $segment_id ne "" } { + rel_segments_delete $segment_id + } + + db_exec_plsql drop_relationship_type {} } on_error { - ad_return_error "Error deleting relationship type" "We got the following error trying to delete this relationship type:

$errmsg
" - ad_script_abort + ad_return_error "Error deleting relationship type" "We got the following error trying to delete this relationship type:
$errmsg
" + ad_script_abort } # If we successfully dropped the relationship type, drop the table. # Note that we do this outside the transaction as it commits all # transactions anyway if { [db_table_exists $table_name] } { - db_exec_plsql drop_type_table "drop table $table_name" + db_exec_plsql drop_type_table "drop table $table_name" } } Index: openacs-4/packages/acs-subsite/www/admin/rel-types/delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/rel-types/delete.tcl,v diff -u -N -r1.5 -r1.5.2.1 --- openacs-4/packages/acs-subsite/www/admin/rel-types/delete.tcl 7 Aug 2017 23:47:58 -0000 1.5 +++ openacs-4/packages/acs-subsite/www/admin/rel-types/delete.tcl 16 May 2019 09:54:29 -0000 1.5.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/rel-types/delete.tcl - ad_page_contract { Confirms deletion of a relationship type @@ -32,15 +30,15 @@ if { $subtypes_exist_p } { set return_url "[ad_conn url]?[ad_conn query]" - # Just grab direct children... + # Just grab direct children... template::multirow create subtypes rel_type pretty_name export_vars db_foreach select_subtypes { - select t.object_type as rel_type, t.pretty_name + select t.object_type as rel_type, t.pretty_name from acs_object_types t where t.supertype = :rel_type } { - template::multirow append subtypes $rel_type $pretty_name [export_vars {rel_type return_url}] + template::multirow append subtypes $rel_type $pretty_name [export_vars {rel_type return_url}] } ad_return_template "delete-subtypes-exist" return Index: openacs-4/packages/acs-subsite/www/admin/rel-types/mapping-remove-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/rel-types/mapping-remove-2.tcl,v diff -u -N -r1.7 -r1.7.2.1 --- openacs-4/packages/acs-subsite/www/admin/rel-types/mapping-remove-2.tcl 19 Jan 2018 14:09:48 -0000 1.7 +++ openacs-4/packages/acs-subsite/www/admin/rel-types/mapping-remove-2.tcl 16 May 2019 09:54:29 -0000 1.7.2.1 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/rel-types/mapping-remove.tcl - ad_page_contract { Removes a mapping for a permissible rel_type between either a @@ -23,13 +21,13 @@ if { $group_rel_id ne "" } { db_dml delete_group_rel_mapping { - delete from group_rels - where group_rel_id = :group_rel_id + delete from group_rels + where group_rel_id = :group_rel_id } } elseif { $group_rel_id ne "" } { db_dml delete_group_type_rel_mapping { - delete from group_type_rels - where group_type_rel_id = :group_type_rel_id + delete from group_type_rels + where group_type_rel_id = :group_type_rel_id } } Index: openacs-4/packages/acs-subsite/www/admin/rel-types/new-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/rel-types/new-2.tcl,v diff -u -N -r1.10.2.1 -r1.10.2.2 --- openacs-4/packages/acs-subsite/www/admin/rel-types/new-2.tcl 13 Mar 2019 11:36:02 -0000 1.10.2.1 +++ openacs-4/packages/acs-subsite/www/admin/rel-types/new-2.tcl 16 May 2019 09:54:29 -0000 1.10.2.2 @@ -1,5 +1,3 @@ -# /packages/mbryzek-subsite/www/admin/rel-type/new.tcl - ad_page_contract { Form to create a new relationship type @@ -12,7 +10,7 @@ supertype:trim,notnull rel_type:optional pretty_name:optional - pretty_plural:optional + pretty_plural:optional object_type_one:optional role_one:optional min_n_rels_one:optional @@ -32,36 +30,36 @@ template::form create rel_type template::element create rel_type return_url \ - -optional \ - -value $return_url \ - -datatype text \ - -widget hidden + -optional \ + -value $return_url \ + -datatype text \ + -widget hidden template::element create rel_type supertype \ - -value $supertype \ - -datatype text \ - -widget hidden + -value $supertype \ + -datatype text \ + -widget hidden template::element create rel_type rel_type \ - -label "Relation type" \ - -datatype text \ - -html {maxlength 100} + -label "Relation type" \ + -datatype text \ + -html {maxlength 100} template::element create rel_type pretty_name \ - -label "Pretty name" \ - -datatype text \ - -html {maxlength 100} + -label "Pretty name" \ + -datatype text \ + -html {maxlength 100} template::element create rel_type pretty_plural \ - -label "Pretty plural" \ - -datatype text \ - -html {maxlength 100} + -label "Pretty plural" \ + -datatype text \ + -html {maxlength 100} # Select out the objects from which to generate pick lists for the # relationship type db_1row select_object_types { - select r.object_type_one as max_object_type_one, + select r.object_type_one as max_object_type_one, r.object_type_two as max_object_type_two, t.pretty_name as supertype_pretty_name, r.role_one as supertype_role_one, r.role_two as supertype_role_two, @@ -95,58 +93,58 @@ } template::element create rel_type object_type_one \ - -label "Object type one" \ - -datatype text \ - -widget select \ - -options $object_types_one_list_i18n + -label "Object type one" \ + -datatype text \ + -widget select \ + -options $object_types_one_list_i18n # Set return_url here to set it up correctly for use with roles set role_return_url_enc [ad_urlencode "[ad_conn url]?[ad_conn query]"] template::element create rel_type role_one \ - -optional \ - -label "Role one
(create new role)" \ - -datatype text \ - -widget select \ - -options $roles_list_i18n + -optional \ + -label "Role one
(create new role)" \ + -datatype text \ + -widget select \ + -options $roles_list_i18n template::element create rel_type min_n_rels_one \ - -value $supertype_min_n_rels_one \ - -label "Min n rels one" \ - -datatype integer + -value $supertype_min_n_rels_one \ + -label "Min n rels one" \ + -datatype integer template::element create rel_type max_n_rels_one \ - -optional \ - -value $supertype_max_n_rels_one \ - -label "Max n rels one" \ - -datatype integer + -optional \ + -value $supertype_max_n_rels_one \ + -label "Max n rels one" \ + -datatype integer template::element create rel_type object_type_two \ - -label "Object type two" \ - -datatype text \ - -widget select \ - -options $object_types_two_list_i18n + -label "Object type two" \ + -datatype text \ + -widget select \ + -options $object_types_two_list_i18n template::element create rel_type role_two \ - -optional \ - -label "Role two
(create new role)" \ - -datatype text \ - -widget select \ - -options $roles_list_i18n + -optional \ + -label "Role two
(create new role)" \ + -datatype text \ + -widget select \ + -options $roles_list_i18n template::element create rel_type min_n_rels_two \ - -value $supertype_min_n_rels_two \ - -label "Min n rels two" \ - -datatype integer + -value $supertype_min_n_rels_two \ + -label "Min n rels two" \ + -datatype integer template::element create rel_type max_n_rels_two \ - -optional \ - -value $supertype_max_n_rels_two \ - -label "Max n rels two" \ - -datatype integer + -optional \ + -value $supertype_max_n_rels_two \ + -label "Max n rels two" \ + -datatype integer if { [template::form is_request rel_type] } { @@ -160,43 +158,43 @@ set exception_count 0 set safe_rel_type [plsql_utility::generate_oracle_name -max_length 29 $rel_type] if { [plsql_utility::object_type_exists_p $safe_rel_type] } { - incr exception_count - append exception_text \ + incr exception_count + append exception_text \ "
  • The specified type for this relationship, $rel_type, already exists. " \ [expr {$safe_rel_type eq $rel_type ? "" : "Note that we converted the object type to \"$safe_rel_type\" to ensure that the name would be safe for the database."}] \ "Please back up and choose another.
  • " } else { - # let's make sure the names are unique - if { [db_string pretty_name_unique {}] } { - incr exception_count - append exception_text "
  • The specified pretty name, $pretty_name, already exists. Please enter another
  • " - } + # let's make sure the names are unique + if { [db_string pretty_name_unique {}] } { + incr exception_count + append exception_text "
  • The specified pretty name, $pretty_name, already exists. Please enter another
  • " + } - if { [db_string pretty_plural_unique {}] } { - incr exception_count - append exception_text "
  • The specified pretty plural, $pretty_plural, already exists. Please enter another
  • " - } + if { [db_string pretty_plural_unique {}] } { + incr exception_count + append exception_text "
  • The specified pretty plural, $pretty_plural, already exists. Please enter another
  • " + } } if { $exception_count > 0 } { - ad_return_complaint $exception_count $exception_text - ad_script_abort + ad_return_complaint $exception_count $exception_text + ad_script_abort } rel_types::new \ - -supertype $supertype \ - -role_one $role_one \ - -role_two $role_two \ - $rel_type \ - $pretty_name \ - $pretty_plural \ - $object_type_one \ - $min_n_rels_one \ - $max_n_rels_one \ - $object_type_two \ - $min_n_rels_two \ - $max_n_rels_two - + -supertype $supertype \ + -role_one $role_one \ + -role_two $role_two \ + $rel_type \ + $pretty_name \ + $pretty_plural \ + $object_type_one \ + $min_n_rels_one \ + $max_n_rels_one \ + $object_type_two \ + $min_n_rels_two \ + $max_n_rels_two + ad_returnredirect $return_url ad_script_abort } Index: openacs-4/packages/acs-subsite/www/admin/relations/add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/relations/add.tcl,v diff -u -N -r1.17 -r1.17.2.1 --- openacs-4/packages/acs-subsite/www/admin/relations/add.tcl 30 Apr 2018 08:51:11 -0000 1.17 +++ openacs-4/packages/acs-subsite/www/admin/relations/add.tcl 16 May 2019 09:54:29 -0000 1.17.2.1 @@ -1,5 +1,3 @@ -# /packages/acs-subsite/www/admin/relations/add.tcl - ad_page_contract { Add a member to a group. If there are subtypes of the specified rel_type, we ask the user to select a precise rel_type before @@ -25,19 +23,19 @@ add_party_url:onevalue } -validate { party_in_scope_p -requires {party_id:notnull} { - if { $allow_out_of_scope_p == "f" - && ![application_group::contains_party_p -party_id $party_id]} { - ad_complain "The party either does not exist or does not belong to this subsite." - } + if { $allow_out_of_scope_p == "f" + && ![application_group::contains_party_p -party_id $party_id]} { + ad_complain "The party either does not exist or does not belong to this subsite." + } } rel_type_valid_p -requires {group_id:notnull rel_type:notnull exact_p:notnull} { - if {$exact_p == "t" - && ![relation_type_is_valid_to_group_p -group_id $group_id $rel_type]} { - ad_complain "Relations of this type to this group would violate a relational constraint." - } + if {$exact_p == "t" + && ![relation_type_is_valid_to_group_p -group_id $group_id $rel_type]} { + ad_complain "Relations of this type to this group would violate a relational constraint." + } } } -# ISSUES / TO DO: still need to check that party_id is not already in the +# ISSUES / TO DO: still need to check that party_id is not already in the # group through this relation. Actually, we should handle this with # double-click protection (which we're not doing yet). We also need # to check permissions on the party. @@ -51,24 +49,24 @@ group::get -group_id $group_id -array group_info -# We assume the group is on side 1... +# We assume the group is on side 1... db_1row rel_type_info {} # The role pretty names can be message catalog keys that need # to be localized before they are displayed set role_pretty_name [lang::util::localize $role_pretty_name] -if { $exact_p == "f" +if { $exact_p == "f" && [subsite::util::sub_type_exists_p $rel_type] } { # Sub rel-types exist... select one set exact_p "t" set export_url_vars [export_vars -exclude rel_type $export_var_list ] relation_types_valid_to_group_multirow \ - -datasource_name object_types \ - -start_with $rel_type \ - -group_id $group_id + -datasource_name object_types \ + -start_with $rel_type \ + -group_id $group_id set object_type_pretty_name [subsite::util::object_type_pretty_name $rel_type] set this_url [ad_conn url] @@ -82,9 +80,9 @@ foreach var $export_var_list { template::element create add_relation $var \ - -value [set $var] \ - -datatype text \ - -widget hidden + -value [set $var] \ + -datatype text \ + -widget hidden } # Build a URL used to create a new party of type object_type_two @@ -128,8 +126,8 @@ ad_complain $errorMsg } - if { $return_url eq "" } { - set return_url [export_vars -base one rel_id] + if { $return_url eq "" } { + set return_url [export_vars -base one rel_id] } ad_returnredirect $return_url ad_script_abort @@ -140,65 +138,65 @@ # ISSUES / TO DO: add a check to make sure the party is not # already in the group. We only want to do this on is_request, # in which case we know its not a double-click issue. - + set party_name [acs_object_name $party_id] - + # Note: party_id is not null, which means that it got added already # to $export_var_list, which means that there is already a hidden # form element containing the party_id variable. - + # Inform user which party will be on side two of the new relation. template::element create add_relation party_inform \ - -widget "inform" -value "$party_name" -label "$role_pretty_name" - + -widget "inform" -value "$party_name" -label "$role_pretty_name" + } else { if {$object_type_two eq "party"} { - # We special case 'party' because we don't want to include - # parties whose direct object_type is: - # 'rel_segment' - users will get confused by segments here. - # 'party' - this is an abstract type and should have no objects, - # but the system creates party -1 which users - # shouldn't see. - - set start_with "ot.object_type = 'group' or ot.object_type = 'person'" + # We special case 'party' because we don't want to include + # parties whose direct object_type is: + # 'rel_segment' - users will get confused by segments here. + # 'party' - this is an abstract type and should have no objects, + # but the system creates party -1 which users + # shouldn't see. + + set start_with "ot.object_type = 'group' or ot.object_type = 'person'" } else { - set start_with "ot.object_type = :object_type_two" + set start_with "ot.object_type = :object_type_two" } - + # The $allow_out_of_scope_p flag controls whether or not we limit # the list of parties to those that belong to the current subsite # (allow_out_of_scope_p = 'f'). Even when allow_out_of_scope_p = 't', # permissions checks and relational constraints may limit # the list of parties that can be added to $group_id with a relation # of type $rel_type. - + if {$allow_out_of_scope_p == "f"} { - set scope_query [db_map select_parties_scope_query] + set scope_query [db_map select_parties_scope_query] - set scope_clause " + set scope_clause " and p.party_id = app_elements.element_id" } else { - set scope_query "" - set scope_clause "" + set scope_query "" + set scope_clause "" } - + # SENSITIVE PERFORMANCE - this comment tag is here to make it # easy for us to find all the queries that we know may be unscalable. - # This query has been tuned as well as possible given development + # This query has been tuned as well as possible given development # time constraints, but more tuning may be necessary. set party_option_list [db_list_of_lists select_parties {}] if { [llength $party_option_list] == 0 } { - ad_return_template add-no-valid-parties - return + ad_return_template add-no-valid-parties + return } - + template::element create add_relation party_id \ - -datatype "text" \ - -widget select \ - -options $party_option_list \ - -label "Select $role_pretty_name" + -datatype "text" \ + -widget select \ + -options $party_option_list \ + -label "Select $role_pretty_name" } ad_return_template Index: openacs-4/packages/acs-subsite/www/admin/site-map/instance-delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/site-map/instance-delete.tcl,v diff -u -N -r1.12 -r1.12.2.1 --- openacs-4/packages/acs-subsite/www/admin/site-map/instance-delete.tcl 19 Jan 2018 14:09:48 -0000 1.12 +++ openacs-4/packages/acs-subsite/www/admin/site-map/instance-delete.tcl 16 May 2019 09:54:29 -0000 1.12.2.1 @@ -1,6 +1,6 @@ ad_page_contract { - Delete a package instance. If the package is + Delete a package instance. If the package is mounted it will be unmounted before deletion and an attempt will be made to delete the node. @@ -25,13 +25,13 @@ # you were at when you clicked "delete" or its parent (the case mentioned above). set parent [site_node::closest_ancestor_package \ - -node_id $node_id \ - -package_key acs-subsite \ - -element url] + -node_id $node_id \ + -package_key acs-subsite \ + -element url] # node_id was null so we're not deleting a mounted subsite instance if {$parent eq "" } { - set parent [ad_conn subsite_url] + set parent [ad_conn subsite_url] } if { $node_id ne "" } { @@ -47,14 +47,14 @@ } on_error { if {[db_string instance_delete_doubleclick_ck { - select decode(count(*), 0, 0, 1) from apm_packages - where package_id = :package_id + select decode(count(*), 0, 0, 1) from apm_packages + where package_id = :package_id } -default 0]} { - ad_return_error "Error Deleting Instance" "The following error was returned: -
    [ns_quotehtml $errmsg]
    " + ad_return_error "Error Deleting Instance" "The following error was returned: +
    [ns_quotehtml $errmsg]
    " } } - + ad_returnredirect ${parent}admin/site-map ad_script_abort Index: openacs-4/packages/acs-subsite/www/admin/site-map/package-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/site-map/package-new.tcl,v diff -u -N -r1.18 -r1.18.2.1 --- openacs-4/packages/acs-subsite/www/admin/site-map/package-new.tcl 2 Feb 2018 00:05:53 -0000 1.18 +++ openacs-4/packages/acs-subsite/www/admin/site-map/package-new.tcl 16 May 2019 09:54:29 -0000 1.18.2.1 @@ -1,5 +1,3 @@ -# packages/acs-core-ui/www/admin/site-nodes/package-new.tcl - ad_page_contract { Create a new package and mount it in the site map. If new_node_p is false then the package will be mounted at node_id. If new_node_p is true then a new node with @@ -56,16 +54,16 @@ -package_key $package_key \ -node_id $node_id \ -package_name $instance_name \ - -context_id $context_id ] + -context_id $context_id ] } } on_error { if {![db_string package_new_doubleclick_ck {} -default 0]} { - ad_return_complaint 1 "Error Creating Package: The following error was generated - when attempting to create the package -
    -		[ns_quotehtml $errmsg]
    -	
    " + ad_return_complaint 1 "Error Creating Package: The following error was generated + when attempting to create the package +
    +                [ns_quotehtml $errmsg]
    +        
    " } } Index: openacs-4/packages/acs-subsite/www/admin/site-map/site-map.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/site-map/site-map.tcl,v diff -u -N -r1.17 -r1.17.2.1 --- openacs-4/packages/acs-subsite/www/admin/site-map/site-map.tcl 21 Oct 2018 17:50:09 -0000 1.17 +++ openacs-4/packages/acs-subsite/www/admin/site-map/site-map.tcl 16 May 2019 09:54:29 -0000 1.17.2.1 @@ -1,10 +1,10 @@ ad_page_contract { - + @author rhs@mit.edu @author bquinn@arsidigta.com @creation-date 2000-09-09 @cvs-id $Id$ - + } { {expand:integer,multiple ""} {new_parent:integer ""} @@ -57,29 +57,29 @@ set head "" db_foreach path_select {} { if {$node_id != $root_id && $admin_p == "t"} { - set href [export_vars -base . {expand:multiple {root_id $node_id}}] - append head [subst {}] + set href [export_vars -base . {expand:multiple {root_id $node_id}}] + append head [subst {}] } if {$name eq ""} { - append head "$obj_name:" + append head "$obj_name:" } else { - append head $name + append head $name } - + if {$node_id != $root_id && $admin_p == "t"} { - append head "" + append head "" } - + if {$directory_p == "t"} { - append head "/" + append head "/" } } if_no_rows { append head " " } if {[llength $expand] == 0} { - lappend expand $root_id + lappend expand $root_id if { $parent_id ne "" } { lappend expand $parent_id } @@ -92,85 +92,85 @@ -key node_id \ -has_checkboxes \ -bulk_actions { - "Allow for view (Publish)" "allow-for-view" + "Allow for view (Publish)" "allow-for-view" } \ -bulk_action_method post \ -bulk_action_export_vars { return_url } \ -elements { - checkbox { - display_template { - - - - - - - - - - - - - } - } - name { + checkbox { + display_template { + + + + + + + + + + + + + } + } + name { label "URL" html "align left" - display_template { - @nodes.tree_indent;noquote@ - - @nodes.name;noquote@ - - - @nodes.name;noquote@ - + display_template { + @nodes.tree_indent;noquote@ + + @nodes.name;noquote@ + + + @nodes.name;noquote@ + - - #acs-kernel.common_Open# - - + + #acs-kernel.common_Open# + + #acs-kernel.common_Close# - - -
    - @nodes.tree_indent;noquote@ - @nodes.action_form_part;noquote@ - - -
    -
    - } + + +
    + @nodes.tree_indent;noquote@ + @nodes.action_form_part;noquote@ + + +
    +
    + } } instance { label "Instance" html "align left" - display_template { - - -
    - - @nodes.action_form_part;noquote@ - -
    - - -
    -
    - - @nodes.action_form_part;noquote@ - -
    - - -
    @nodes.instance;noquote@ - - } + display_template { + + +
    + + @nodes.action_form_part;noquote@ + +
    +
    + + +
    + + @nodes.action_form_part;noquote@ + +
    + + +
    @nodes.instance;noquote@ + + } } type { label "Package Type" html "align left" - display_template { - @nodes.type;noquote@ - } + display_template { + @nodes.type;noquote@ + } } } @@ -194,100 +194,100 @@ && $mylevel > 2 } { continue - } - + } + if {$directory_p == "t"} { - set add_folder_url "?[export_vars {expand:multiple root_id node_id {new_parent $node_id} {new_type folder}}]" - if {$object_id eq ""} { - set mount_url [export_vars -base mount {expand:multiple root_id node_id}] - set new_app_url "?[export_vars {expand:multiple root_id {new_application $node_id}}]" - } else { - # This makes sure you can't unmount the thing that is serving the page you're looking at. - if {[ad_conn node_id] != $node_id} { - set unmount_url [export_vars -base unmount {expand:multiple root_id node_id}] - } - - # Add a link to control permissioning - if {$object_admin_p} { - set permissions_url [export_vars -base ../../permissions/one {object_id}] - set rename_url "?[export_vars {expand:multiple root_id {rename_application $node_id}}]" - set delete_url "instance-delete?package_id=$object_id&root_id=$root_id" - } - # Is the object a package? - if {$package_id ne ""} { - if {$object_admin_p && ($parameter_count > 0)} { - set parameters_url [export_vars -base "/shared/parameters" { package_id {return_url {[ad_return_url]} } }] - } - } - } + set add_folder_url "?[export_vars {expand:multiple root_id node_id {new_parent $node_id} {new_type folder}}]" + if {$object_id eq ""} { + set mount_url [export_vars -base mount {expand:multiple root_id node_id}] + set new_app_url "?[export_vars {expand:multiple root_id {new_application $node_id}}]" + } else { + # This makes sure you can't unmount the thing that is serving the page you're looking at. + if {[ad_conn node_id] != $node_id} { + set unmount_url [export_vars -base unmount {expand:multiple root_id node_id}] + } + + # Add a link to control permissioning + if {$object_admin_p} { + set permissions_url [export_vars -base ../../permissions/one {object_id}] + set rename_url "?[export_vars {expand:multiple root_id {rename_application $node_id}}]" + set delete_url "instance-delete?package_id=$object_id&root_id=$root_id" + } + # Is the object a package? + if {$package_id ne ""} { + if {$object_admin_p && ($parameter_count > 0)} { + set parameters_url [export_vars -base "/shared/parameters" { package_id {return_url {[ad_return_url]} } }] + } + } + } } - + if {[ad_conn node_id] != $node_id && $n_children == 0 && $object_id eq ""} { - set delete_url [export_vars -base delete {expand:multiple root_id node_id}] + set delete_url [export_vars -base delete {expand:multiple root_id node_id}] } - + # use the indent variable to hold current indent level we'll use it later to indent stuff at the end by the amount of the last node set indent "" if { $mylevel != 1 } { - if { $mylevel == 2 } { - append indent "  " - } else { - for {set i 1} {$i <4*$mylevel} {incr i} { - append indent " " - } - } + if { $mylevel == 2 } { + append indent "  " + } else { + for {set i 1} {$i <4*$mylevel} {incr i} { + append indent " " + } + } } set expand_mode 0 if {!$root_p && $n_children > 0} { - set expand_mode 1 - set urlvars [list] - foreach n $expand { - if {$n == $node_id} { - set expand_mode 2 - lappend open_nodes "$node_id" - } else { - lappend urlvars "expand=$n" - } - } - - if { $expand_mode == 1} { - lappend urlvars "expand=$node_id" - } - - lappend urlvars "root_id=$root_id" - - set expand_url "[join $urlvars "&"]" + set expand_mode 1 + set urlvars [list] + foreach n $expand { + if {$n == $node_id} { + set expand_mode 2 + lappend open_nodes "$node_id" + } else { + lappend urlvars "expand=$n" + } + } + + if { $expand_mode == 1} { + lappend urlvars "expand=$node_id" + } + + lappend urlvars "root_id=$root_id" + + set expand_url "[join $urlvars "&"]" } else { - set expand_url "" + set expand_url "" } - + set name_url [export_vars {expand:multiple {root_id $node_id}}] - + set action_type 0 set action_form_part "" - + if {$object_id eq ""} { - if {$new_application == $node_id} { - - set action_type "new_app" - set action_form_part "[export_vars -form {expand:multiple root_id node_id new_package_id}] [apm_application_new_checkbox]" - - #Generate a package_id for double click protection - set new_package_id [db_nextval acs_object_id_seq] - } else { - set action_form_part "(none)" - } + if {$new_application == $node_id} { + + set action_type "new_app" + set action_form_part "[export_vars -form {expand:multiple root_id node_id new_package_id}] [apm_application_new_checkbox]" + + #Generate a package_id for double click protection + set new_package_id [db_nextval acs_object_id_seq] + } else { + set action_form_part "(none)" + } } elseif {$rename_application == $node_id} { - set action_type "rename_app" - set action_form_part [export_vars -form {expand:multiple root_id node_id rename_package_id}] - + set action_type "rename_app" + set action_form_part [export_vars -form {expand:multiple root_id node_id rename_package_id}] + } else {} - + if {$node_id == $new_parent} { - set parent_id $new_parent - set node_type $new_type - set action_type "new_folder" - set action_form_part [export_vars -form {expand:multiple parent_id node_type root_id}] + set parent_id $new_parent + set node_type $new_type + set action_type "new_folder" + set action_form_part [export_vars -form {expand:multiple parent_id node_type root_id}] } multirow append nodes \ @@ -308,7 +308,7 @@ db_foreach services_select {} { if {$parameter_count > 0} { - set href [export_vars -base "/shared/parameters" { package_id { return_url {[ad_return_url]} } }] + set href [export_vars -base "/shared/parameters" { package_id { return_url {[ad_return_url]} } }] append services [subst {
  • $instance_name}] } } if_no_rows { Index: openacs-4/packages/acs-subsite/www/admin/themes/delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/themes/delete.tcl,v diff -u -N -r1.3 -r1.3.2.1 --- openacs-4/packages/acs-subsite/www/admin/themes/delete.tcl 19 Jan 2018 21:23:51 -0000 1.3 +++ openacs-4/packages/acs-subsite/www/admin/themes/delete.tcl 16 May 2019 09:54:29 -0000 1.3.2.1 @@ -7,15 +7,21 @@ theme:trim } -validate { new_key_valid -requires new_key { - if {![db_string check_exists_theme { - select 1 from subsite_themes where key = :theme - } -default 0]} { - ad_complain "Theme with key '$theme' does not exist" - } + if {![db_string check_exists_theme { + select 1 from subsite_themes where key = :theme + } -default 0]} { + ad_complain "Theme with key '$theme' does not exist" + } } } subsite::delete_subsite_theme -key $theme ns_returnredirect "." ad_script_abort + +# Local variables: +# mode: tcl +# tcl-indent-level: 4 +# indent-tabs-mode: nil +# End: Index: openacs-4/packages/acs-subsite/www/admin/themes/save-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/themes/save-new.tcl,v diff -u -N -r1.2 -r1.2.2.1 --- openacs-4/packages/acs-subsite/www/admin/themes/save-new.tcl 7 Aug 2017 23:47:58 -0000 1.2 +++ openacs-4/packages/acs-subsite/www/admin/themes/save-new.tcl 16 May 2019 09:54:29 -0000 1.2.2.1 @@ -8,11 +8,11 @@ new_name:trim } -validate { new_theme_valid -requires new_theme { - if {[db_string check_exists_theme { - select 1 from subsite_themes where key = :new_theme - } -default 0]} { - ad_complain "Theme with key '$new_theme' exists already" - } + if {[db_string check_exists_theme { + select 1 from subsite_themes where key = :new_theme + } -default 0]} { + ad_complain "Theme with key '$new_theme' exists already" + } } } @@ -29,3 +29,9 @@ subsite::set_theme -theme $new_theme ns_returnredirect "." + +# Local variables: +# mode: tcl +# tcl-indent-level: 4 +# indent-tabs-mode: nil +# End: Index: openacs-4/packages/acs-subsite/www/admin/themes/set.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/themes/set.tcl,v diff -u -N -r1.3 -r1.3.2.1 --- openacs-4/packages/acs-subsite/www/admin/themes/set.tcl 19 Jan 2018 21:23:51 -0000 1.3 +++ openacs-4/packages/acs-subsite/www/admin/themes/set.tcl 16 May 2019 09:54:29 -0000 1.3.2.1 @@ -7,15 +7,21 @@ theme:trim } -validate { new_key_valid -requires new_key { - if {![db_string check_exists_theme { - select 1 from subsite_themes where key = :theme - } -default 0]} { - ad_complain "Theme with key '$theme' does not exist" - } + if {![db_string check_exists_theme { + select 1 from subsite_themes where key = :theme + } -default 0]} { + ad_complain "Theme with key '$theme' does not exist" + } } } subsite::set_theme -theme $theme ns_returnredirect "." ad_script_abort + +# Local variables: +# mode: tcl +# tcl-indent-level: 4 +# indent-tabs-mode: nil +# End: Index: openacs-4/packages/acs-subsite/www/admin/themes/view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/themes/view.tcl,v diff -u -N -r1.4 -r1.4.2.1 --- openacs-4/packages/acs-subsite/www/admin/themes/view.tcl 17 May 2018 07:47:01 -0000 1.4 +++ openacs-4/packages/acs-subsite/www/admin/themes/view.tcl 16 May 2019 09:54:29 -0000 1.4.2.1 @@ -1,17 +1,17 @@ ad_page_contract { View (and maybe edit) theme parameters - + @author Gustaf Neumann @creation-date 2017-01-21 } { {theme:word,trim} } -validate { theme_valid -requires theme { - if {![db_string check_exists_theme { - select 1 from subsite_themes where key = :theme - } -default 0]} { - ad_complain "Theme with key '$theme' does not exist" - } + if {![db_string check_exists_theme { + select 1 from subsite_themes where key = :theme + } -default 0]} { + ad_complain "Theme with key '$theme' does not exist" + } } } @@ -63,7 +63,7 @@ lappend htmlSpecs size 80 set currentSpec [list ${var}:text,optional [list label $param] [list html $htmlSpecs]] } - + if {$currentThemeKey eq $key} { set currentValue [string trim [parameter::get -parameter $param -package_id $subsite_id]] regsub -all {\r\n} $currentValue "\n" currentValue @@ -97,9 +97,9 @@ -form $formSpec \ -on_request { #ns_log notice "on request" - + } -on_submit { - + if {[ns_queryget formbutton:save] ne "" || [ns_queryget formbutton:overwrite] ne ""} { #ns_log notice "edit theme ====== SAVE form values in actual parameter settings" foreach {var param} $settings { @@ -120,7 +120,7 @@ -local_p true \ {*}$params } - + } -after_submit { ad_returnredirect $return_url ad_script_abort Index: openacs-4/packages/acs-subsite/www/members/make-admin.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/members/make-admin.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/members/make-admin.tcl 7 Aug 2017 23:47:59 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/members/make-admin.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -12,7 +12,7 @@ foreach one_user_id $user_id { # membership state stuff should only check the membership_rel at this # point - remember this is going to be made consistent in 5.1 - relation_add -member_state "" admin_rel $group_id $one_user_id + relation_add -member_state "" admin_rel $group_id $one_user_id } } on_error { ad_return_error "Error creating the relation" "We got the following error message while trying to create this relation:
    $errmsg
    " Index: openacs-4/packages/acs-subsite/www/members/user-batch-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/members/user-batch-add-2.tcl,v diff -u -N -r1.8 -r1.8.2.1 --- openacs-4/packages/acs-subsite/www/members/user-batch-add-2.tcl 21 Jan 2018 00:35:29 -0000 1.8 +++ openacs-4/packages/acs-subsite/www/members/user-batch-add-2.tcl 16 May 2019 09:54:29 -0000 1.8.2.1 @@ -14,7 +14,7 @@ subsite::assert_user_may_add_member -# parse the notify_ids arguments +# parse the notify_ids arguments # ... set exception_text "" @@ -34,73 +34,73 @@ set email [string trim [lindex $row 0]] set first_names [string trim [lindex $row 1]] set last_name [string trim [lindex $row 2]] - + if {![info exists email] || ![util_email_valid_p $email]} { - append exception_text "
  • Couldn't find a valid email address in ($row).
  • \n" - continue + append exception_text "
  • Couldn't find a valid email address in ($row).
  • \n" + continue } else { - set user_exists_p [db_0or1row user_id {select party_id from parties where email = lower(:email)}] - - if {$user_exists_p > 0} { + set user_exists_p [db_0or1row user_id {select party_id from parties where email = lower(:email)}] + if {$user_exists_p > 0} { + # Add user to subsite as a member - + group::add_member \ -group_id $group_id \ -user_id $party_id - - append exception_text "
  • $email was already in the database.
  • \n" - continue - } + append exception_text "
  • $email was already in the database.
  • \n" + + continue + } } - + if {![info exists first_names] || $first_names eq ""} { - append exception_text "
  • No first name in ($row)
  • \n" - continue + append exception_text "
  • No first name in ($row)
  • \n" + continue } - + if {![info exists last_name] || $last_name eq ""} { - append exception_text "
  • No last name in ($row)
  • \n" - continue + append exception_text "
  • No last name in ($row)
  • \n" + continue } - + # We've checked everything. - + set password [ad_generate_random_string] - + array set auth_status_array [auth::create_user -email $email -first_names $first_names -last_name $last_name -password $password] set user_id $auth_status_array(user_id) - + append success_text "Created user $user_id for ($row)" # Add user to subsite as a member - + group::add_member \ -group_id $group_id \ -user_id $user_id - + # if anything goes wrong here, stop the whole process if { !$user_id } { - ad_return_error \ + ad_return_error \ "Insert Failed" \ "We were unable to create a user record for ($row)." - ad_script_abort + ad_script_abort } # send email set key_list [list first_names last_name email password] set value_list [list $first_names $last_name $email $password] - + set sub_message $message foreach key $key_list value $value_list { - regsub -all "<$key>" $sub_message $value sub_message + regsub -all "<$key>" $sub_message $value sub_message } - + if {[catch {acs_mail_lite::send -send_immediately -to_addr $email -from_addr $from -subject $subject -body $sub_message} errmsg]} { ad_return_error \ "Mail Failed" \ Index: openacs-4/packages/acs-subsite/www/permissions/perm-user-add-include.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/permissions/perm-user-add-include.tcl,v diff -u -N -r1.10 -r1.10.2.1 --- openacs-4/packages/acs-subsite/www/permissions/perm-user-add-include.tcl 15 May 2018 21:41:34 -0000 1.10 +++ openacs-4/packages/acs-subsite/www/permissions/perm-user-add-include.tcl 16 May 2019 09:54:29 -0000 1.10.2.1 @@ -44,8 +44,8 @@ display_template "[_ acs-subsite.Add]" } } -filters { - object_id {} - return_url {} + object_id {} + return_url {} } db_multirow -extend { add_url } users users_who_dont_have_any_permissions {} { Index: openacs-4/packages/acs-subsite/www/pvt/alerts.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/pvt/alerts.tcl,v diff -u -N -r1.9 -r1.9.2.1 --- openacs-4/packages/acs-subsite/www/pvt/alerts.tcl 29 May 2018 09:09:55 -0000 1.9 +++ openacs-4/packages/acs-subsite/www/pvt/alerts.tcl 16 May 2019 09:54:29 -0000 1.9.2.1 @@ -38,43 +38,43 @@ set rownum 0 if { [bboard_pls_blade_installed_p] == 1 } { - set bboard_keyword_p 1 + set bboard_keyword_p 1 } else { - set bboard_keyword_p 0 + set bboard_keyword_p 0 } - + db_foreach alerts_list { select bea.valid_p, bea.frequency, bea.keywords, bt.topic, bea.rowid from bboard_email_alerts bea, bboard_topics bt where bea.user_id = :user_id and bea.topic_id = bt.topic_id order by bea.frequency } { - incr rownum + incr rownum - if { $valid_p == "f" } { - # alert has been disabled for some reason - set bboard_rows:$rownum(status) "disable" - set bboard_rows:$rownum(action_url) "/bboard/alert-reenable?rowid=[ns_urlencode $rowid]" - } else { - # alert is enabled - set bboard_rows:$rownum(status) "enable" - set bboard_rows:$rownum(action_url) "/bboard/alert-disable?rowid=[ns_urlencode $rowid]" - } + if { $valid_p == "f" } { + # alert has been disabled for some reason + set bboard_rows:$rownum(status) "disable" + set bboard_rows:$rownum(action_url) "/bboard/alert-reenable?rowid=[ns_urlencode $rowid]" + } else { + # alert is enabled + set bboard_rows:$rownum(status) "enable" + set bboard_rows:$rownum(action_url) "/bboard/alert-disable?rowid=[ns_urlencode $rowid]" + } - set bboard_rows:$rownum(topic) $topic - set bboard_rows:$rownum(frequency) $frequency - set bboard_rows:$rownum(keywords) $keywords - + set bboard_rows:$rownum(topic) $topic + set bboard_rows:$rownum(frequency) $frequency + set bboard_rows:$rownum(keywords) $keywords + } if_no_rows { - set discussion_forum_alert_p 0 + set discussion_forum_alert_p 0 } } if { [db_table_exists "classified_email_alerts"] } { set classified_email_alert_p 1 - + set gc_system_name [gc_system_name] set rownum 0 @@ -93,37 +93,37 @@ and sysdate <= expires order by expires desc } { - incr rownum - - if { $valid_p == "f" } { - # alert has been disabled for some reason - set classified_rows:$rownum(status) "Off" - set classified_rows:$rownum(action) "Re-enable" - } else { - # alert is enabled - set classified_rows:$rownum(status) "On" - set classified_rows:$rownum(action) "Disable" - } + incr rownum - if { $alert_type eq "all" } { - set classified_rows:$rownum(alert_value) "--" - } elseif { $alert_type eq "keywords" } { - set classified_rows:$rownum(alert_value) $keywords - } elseif { $alert_type eq "category" } { - set classified_rows:$rownum(alert_value) $category - } else { - # I don't know what to do here... - set classified_rows:$rownum(alert_value) "--" - } + if { $valid_p == "f" } { + # alert has been disabled for some reason + set classified_rows:$rownum(status) "Off" + set classified_rows:$rownum(action) "Re-enable" + } else { + # alert is enabled + set classified_rows:$rownum(status) "On" + set classified_rows:$rownum(action) "Disable" + } - set classified_rows:$rownum(domain) $domain - set classified_rows:$rownum(rowid) $row_id - set classified_rows:$rownum(expires) $expires - set classified_rows:$rownum(frequency) [gc_PrettyFrequency $frequency] - set classified_rows:$rownum(alert_type) $alert_type - + if { $alert_type eq "all" } { + set classified_rows:$rownum(alert_value) "--" + } elseif { $alert_type eq "keywords" } { + set classified_rows:$rownum(alert_value) $keywords + } elseif { $alert_type eq "category" } { + set classified_rows:$rownum(alert_value) $category + } else { + # I don't know what to do here... + set classified_rows:$rownum(alert_value) "--" + } + + set classified_rows:$rownum(domain) $domain + set classified_rows:$rownum(rowid) $row_id + set classified_rows:$rownum(expires) $expires + set classified_rows:$rownum(frequency) [gc_PrettyFrequency $frequency] + set classified_rows:$rownum(alert_type) $alert_type + } if_no_rows { - set classified_email_alert_p 0 + set classified_email_alert_p 0 } } Index: openacs-4/packages/acs-subsite/www/shared/community-member.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/shared/community-member.tcl,v diff -u -N -r1.25 -r1.25.2.1 --- openacs-4/packages/acs-subsite/www/shared/community-member.tcl 28 Sep 2018 18:45:04 -0000 1.25 +++ openacs-4/packages/acs-subsite/www/shared/community-member.tcl 16 May 2019 09:54:29 -0000 1.25.2.1 @@ -1,6 +1,6 @@ ad_page_contract { shows User A what User B has contributed to the community - + @param user_id defaults to currently logged in user if there is one @cvs-id $Id$ } { @@ -27,12 +27,12 @@ valid_user_id { set verified_user_id [ad_conn user_id] set untrusted_user_id [ad_conn untrusted_user_id] - + if {$user_id eq ""} { if {$verified_user_id != 0} { set user_id $verified_user_id } else { - # Don't know what to do! + # Don't know what to do! auth::require_login return } @@ -75,7 +75,7 @@ # if { $url ne "" && ![string match -nocase "http://*" $url] - && ![string match -nocase "https://*" $url] + && ![string match -nocase "https://*" $url] } { set url "http://$url" } @@ -104,10 +104,10 @@ # use it. The maintenance of the image width in i.width # (above) does not seem to work reliable. # - # let's show it inline - set inline_portrait_state "inline" + # let's show it inline + set inline_portrait_state "inline" } else { - set inline_portrait_state "link" + set inline_portrait_state "link" } } @@ -116,7 +116,7 @@ set show_email_p 1 } else { set show_email_p 0 - # guy doesn't want his email address shown, but we can still put out + # guy doesn't want his email address shown, but we can still put out # the home page } Index: openacs-4/packages/acs-subsite/www/site-map/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/site-map/index.tcl,v diff -u -N -r1.14.2.2 -r1.14.2.3 --- openacs-4/packages/acs-subsite/www/site-map/index.tcl 18 Mar 2019 14:24:06 -0000 1.14.2.2 +++ openacs-4/packages/acs-subsite/www/site-map/index.tcl 16 May 2019 09:54:29 -0000 1.14.2.3 @@ -54,55 +54,55 @@ -multirow nodes \ -key node_id \ -elements { - name_instance { + name_instance { label "#acs-subsite.Name#" html "align left" - display_template { - @nodes.tree_indent;noquote@ - - @nodes.name;noquote@ - - - @nodes.instance;noquote@ - - -   - - + display_template { + @nodes.tree_indent;noquote@ + + @nodes.name;noquote@ + + + @nodes.instance;noquote@ + + +   + +   - -
    -
    @nodes.tree_indent;noquote@ - @nodes.action_form_part;noquote@ - -
    -
    -
    - } + +
    +
    @nodes.tree_indent;noquote@ + @nodes.action_form_part;noquote@ + +
    +
    +
    + } } instance_url { label "#acs-subsite.URL#" html "align left" - display_template { - -
    -
    - @nodes.action_form_part;noquote@ -
    -
    -
    - -
    -
    - @nodes.action_form_part;noquote@ -
    -
    -
    - - @nodes.instance_url;noquote@ - - } + display_template { + +
    +
    + @nodes.action_form_part;noquote@ +
    +
    +
    + +
    +
    + @nodes.action_form_part;noquote@ +
    +
    +
    + + @nodes.instance_url;noquote@ + + } } } @@ -131,33 +131,33 @@ } if {$directory_p == "t"} { - set add_folder_url [export_vars -base . {expand:multiple root_id node_id {new_parent $node_id} {new_type folder}}] - if {$object_id eq ""} { - set mount_url [export_vars -base mount {expand:multiple root_id node_id}] - set new_app_url [export_vars -base . {expand:multiple root_id {new_application $node_id}}] - } else { - # This makes sure you can't unmount the thing that is serving the page you're looking at. - if {[ad_conn node_id] != $node_id} { - set unmount_url [export_vars -base unmount {expand:multiple root_id node_id}] - } + set add_folder_url [export_vars -base . {expand:multiple root_id node_id {new_parent $node_id} {new_type folder}}] + if {$object_id eq ""} { + set mount_url [export_vars -base mount {expand:multiple root_id node_id}] + set new_app_url [export_vars -base . {expand:multiple root_id {new_application $node_id}}] + } else { + # This makes sure you can't unmount the thing that is serving the page you're looking at. + if {[ad_conn node_id] != $node_id} { + set unmount_url [export_vars -base unmount {expand:multiple root_id node_id}] + } - # Add a link to control permissioning - if {$object_admin_p} { - set permissions_url [export_vars -base ../../permissions/one {object_id}] - set rename_url [export_vars -base . {expand:multiple root_id {rename_application $node_id}}] - set delete_url [export_vars -base instance-delete {{package_id $object_id} root_id}] - } - # Is the object a package? - if {$package_id ne ""} { - if {$object_admin_p && ($parameter_count > 0)} { - set parameters_url [export_vars -base "/shared/parameters" { package_id {return_url {[ad_return_url]} } }] - } - } - } + # Add a link to control permissioning + if {$object_admin_p} { + set permissions_url [export_vars -base ../../permissions/one {object_id}] + set rename_url [export_vars -base . {expand:multiple root_id {rename_application $node_id}}] + set delete_url [export_vars -base instance-delete {{package_id $object_id} root_id}] + } + # Is the object a package? + if {$package_id ne ""} { + if {$object_admin_p && ($parameter_count > 0)} { + set parameters_url [export_vars -base "/shared/parameters" { package_id {return_url {[ad_return_url]} } }] + } + } + } } if {[ad_conn node_id] != $node_id && $n_children == 0 && $object_id eq ""} { - set delete_url [export_vars -base delete {expand:multiple root_id node_id}] + set delete_url [export_vars -base delete {expand:multiple root_id node_id}] } # @@ -167,37 +167,37 @@ # set indent "" if { $mylevel != 1 } { - if { $mylevel == 2 } { - append indent "  " - } else { - for {set i 1} {$i <4*$mylevel} {incr i} { - append indent " " - } - } + if { $mylevel == 2 } { + append indent "  " + } else { + for {set i 1} {$i <4*$mylevel} {incr i} { + append indent " " + } + } } set expand_mode 0 if {!$root_p && $n_children > 0} { - set expand_mode 1 - set urlvars [list] - foreach n $expand { - if {$n == $node_id} { - set expand_mode 2 - lappend open_nodes "$node_id" - } else { - lappend urlvars "expand=$n" - } - } + set expand_mode 1 + set urlvars [list] + foreach n $expand { + if {$n == $node_id} { + set expand_mode 2 + lappend open_nodes "$node_id" + } else { + lappend urlvars "expand=$n" + } + } - if { $expand_mode == 1} { - lappend urlvars "expand=$node_id" - } + if { $expand_mode == 1} { + lappend urlvars "expand=$node_id" + } - lappend urlvars "root_id=$root_id" + lappend urlvars "root_id=$root_id" - set expand_url [join $urlvars "&"] + set expand_url [join $urlvars "&"] } else { - set expand_url "" + set expand_url "" } set name_url [export_vars {expand:multiple {root_id $node_id}}] @@ -206,27 +206,27 @@ set action_form_part "" if {$object_id eq ""} { - if {$new_application == $node_id} { + if {$new_application == $node_id} { - set action_type "new_app" - set action_form_part [export_vars -form {expand:multiple root_id node_id new_package_id}] [apm_application_new_checkbox] + set action_type "new_app" + set action_form_part [export_vars -form {expand:multiple root_id node_id new_package_id}] [apm_application_new_checkbox] - #Generate a package_id for double click protection - set new_package_id [db_nextval acs_object_id_seq] - } else { - set action_form_part "(none)" - } + #Generate a package_id for double click protection + set new_package_id [db_nextval acs_object_id_seq] + } else { + set action_form_part "(none)" + } } elseif {$rename_application == $node_id} { - set action_type "rename_app" - set action_form_part [export_vars -form {expand:multiple root_id node_id rename_package_id}] + set action_type "rename_app" + set action_form_part [export_vars -form {expand:multiple root_id node_id rename_package_id}] } else {} if {$node_id == $new_parent} { - set parent_id $new_parent - set node_type $new_type - set action_type "new_folder" - set action_form_part [export_vars -form {expand:multiple parent_id node_type root_id}] + set parent_id $new_parent + set node_type $new_type + set action_type "new_folder" + set action_form_part [export_vars -form {expand:multiple parent_id node_type root_id}] } multirow append nodes $node_id $expand_mode $expand_url $indent $name $name_url $object_name \ Index: openacs-4/packages/acs-subsite/www/user/email-privacy-level.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/email-privacy-level.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/user/email-privacy-level.tcl 5 Jan 2018 22:40:56 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/user/email-privacy-level.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -1,6 +1,6 @@ ad_page_contract { Allows users to change their priv_email field in the users table - + @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) } { {user_id:naturalnum ""} @@ -20,10 +20,10 @@ ad_form -name private-email -export return_url -form { {level:integer(select) - {label "\#acs-subsite.Change_my_email_P\#:"} - {options { + {label "\#acs-subsite.Change_my_email_P\#:"} + {options { {"[_ acs-subsite.email_as_text]" 4} - {"[_ acs-subsite.email_as_image]" 3} + {"[_ acs-subsite.email_as_image]" 3} {"[_ acs-subsite.email_as_a_form]" 2} {"[_ acs-subsite.email_dont_show]" 1} }} Index: openacs-4/packages/acs-subsite/www/user/password-reset.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/password-reset.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-subsite/www/user/password-reset.tcl 21 Jan 2018 00:35:30 -0000 1.6 +++ openacs-4/packages/acs-subsite/www/user/password-reset.tcl 16 May 2019 09:54:29 -0000 1.6.2.1 @@ -83,7 +83,7 @@ } else { form set_error reset password_1 "Invalid hash" - break + break } } -after_submit {