Index: openacs-4/packages/dynamic-types/tcl/dynamic-type-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/tcl/dynamic-type-procs.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/dynamic-types/tcl/dynamic-type-procs.tcl 7 Jul 2005 00:21:13 -0000 1.6 +++ openacs-4/packages/dynamic-types/tcl/dynamic-type-procs.tcl 7 Jul 2005 14:00:08 -0000 1.7 @@ -120,6 +120,7 @@ {-name:required} {-drop_children:boolean} {-drop_table:boolean} + {-no_flush:boolean} } { Delete a dynamically created content type. } { @@ -128,9 +129,9 @@ db_exec_plsql drop_type {} - set event(object_type) $name - set event(action) deleted - util::event::fire -event dtype event + if {!$no_flush_p} { + dtype::flush_cache -type $name + } } ad_proc -public dtype::create_attribute { @@ -141,6 +142,8 @@ {-pretty_plural ""} {-sort_order ""} {-default_value ""} + {-no_flush:boolean} + } { Creates an attribute on a content type. } { @@ -162,10 +165,9 @@ db_exec_plsql create_attr {} - set event(object_type) $object_type - set event(attribute) $name - set event(action) created - util::event::fire -event dtype.attribute event + if {!$no_flush_p} { + dtype::flush_cache -type $name + } } ad_proc -public dtype::get_attributes { @@ -242,15 +244,10 @@ ad_proc -private dtype::flush_cache { {-type:required} - {-event:required} } { Flushes the util_memoize cache of dtype calls for a given object type. - - event is assumed to contain object_type and action } { - upvar $event dtype_event - - util_memoize_flush_regexp "dtype::get_attributes_list -no_cache -name \"$dtype_event(object_type)\".*" + util_memoize_flush_regexp "dtype::get_attributes_list -no_cache -name \"$type\".*" } ad_proc -public dtype::edit_attribute { @@ -259,15 +256,15 @@ {-pretty_name:required} {-pretty_plural:required} {-default_value ""} + {-no_flush:boolean} } { Sets the details of an attribute. } { db_dml update_attribute {} - set event(object_type) $object_type - set event(attribute) $name - set event(action) updated - util::event::fire -event dtype.attribute event + if {!$no_flush_p} { + dtype::flush_cache -type $name + } } ad_proc -public dtype::get_attribute { @@ -284,17 +281,17 @@ {-name:required} {-object_type:required} {-drop_column:boolean} + {-no_flush:boolean} } { Drops an attribute on a content type. } { set drop_column [db_boolean $drop_column_p] db_exec_plsql drop_attr {} - set event(object_type) $object_type - set event(attribute) $name - set event(action) deleted - util::event::fire -event dtype.attribute event + if {!$no_flush_p} { + dtype::flush_cache -type $name + } }