Index: openacs-4/packages/dynamic-types/lib/templates/add.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/lib/templates/Attic/add.tcl,v
diff -u -r1.1.2.1 -r1.1.2.2
--- openacs-4/packages/dynamic-types/lib/templates/add.tcl 17 Feb 2005 15:03:12 -0000 1.1.2.1
+++ openacs-4/packages/dynamic-types/lib/templates/add.tcl 18 Feb 2005 17:03:11 -0000 1.1.2.2
@@ -17,8 +17,6 @@
-object_id $package_id \
-privilege "create"
-template::form::create add
-
if {[info exists id_column] && $id_column ne ""} {
dtype::form::add_elements \
-object_id $id_column \
@@ -30,7 +28,6 @@
}
if {[template::form::is_submission add]} {
dtype::form::process \
- -object_id $id_column \
-form add \
-object_type __object_type
}
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dynamic-types/lib/templates/edit.adp'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dynamic-types/lib/templates/edit.tcl'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dynamic-types/lib/templates/index.adp'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dynamic-types/lib/templates/index.tcl'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dynamic-types/lib/templates/one.adp'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dynamic-types/lib/templates/one.tcl'.
Fisheye: No comparison available. Pass `N' to diff?
Index: openacs-4/packages/dynamic-types/sql/postgresql/dtype-package-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/sql/postgresql/dtype-package-create.sql,v
diff -u -r1.1.2.1 -r1.1.2.2
--- openacs-4/packages/dynamic-types/sql/postgresql/dtype-package-create.sql 17 Feb 2005 03:12:37 -0000 1.1.2.1
+++ openacs-4/packages/dynamic-types/sql/postgresql/dtype-package-create.sql 18 Feb 2005 17:03:11 -0000 1.1.2.2
@@ -418,17 +418,9 @@
from acs_object_types
where object_type = p_object_type;
- select (case when p_object_type = ''content_revision'' then 1
- else 0 end) into v_content_revision_p
- from dual;
-
- if not v_content_revision_p then
- select count(*) > 0 into v_content_revision_p
- from acs_object_type_supertype_map
- where object_type = p_object_type
- and ancestor_type = ''content_revision'';
- end if;
-
+ select content_type__is_content_type(p_object_type)
+ into v_content_revision_p;
+
--
-- start building rule code
--
Index: openacs-4/packages/dynamic-types/sql/postgresql/metadata-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/sql/postgresql/metadata-create.sql,v
diff -u -r1.2.2.2 -r1.2.2.3
--- openacs-4/packages/dynamic-types/sql/postgresql/metadata-create.sql 17 Feb 2005 15:03:13 -0000 1.2.2.2
+++ openacs-4/packages/dynamic-types/sql/postgresql/metadata-create.sql 18 Feb 2005 17:03:11 -0000 1.2.2.3
@@ -30,8 +30,6 @@
values (''email'', ''text'');
insert into dtype_db_datatypes (datatype, db_type)
values (''text'', ''text'');
- insert into dtype_db_datatypes (datatype, db_type)
- values (''string'', ''varchar(4000)'');
raise notice ''Inserting standard widget metadata...'';
@@ -404,14 +402,8 @@
-- create ''default'' form for acs_object with only object_id so that
-- by default the dtype::form api doesn''t try to add acs_object
-- attributes to forms
- PERFORM dtype_widget__register_form_widget(
- ''acs_object'',
- ''default'',
- ''object_id'',
- ''hidden'',
- ''t'',
- ''t''
- );
+ insert into dtype_forms (form_id, name, object_type)
+ values (nextval(''t_dtype_seq''), ''default'',''acs_object'');
return 0;
end;' language 'plpgsql';
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.1.2.1 -r1.1.2.2
--- openacs-4/packages/dynamic-types/tcl/dynamic-type-procs.tcl 17 Feb 2005 03:12:37 -0000 1.1.2.1
+++ openacs-4/packages/dynamic-types/tcl/dynamic-type-procs.tcl 18 Feb 2005 17:03:11 -0000 1.1.2.2
@@ -371,7 +371,7 @@
if {[info exists type_dforms($type)]} {
set type_dform $type_dforms($type)
} else {
- set type_dform "default"
+ set type_dform "implicit"
}
dtype::form::metadata::widgets -object_type $type \
@@ -382,8 +382,15 @@
set fk_array([lindex $l 0]) [lrange $l 1 end]
}
template::multirow foreach widgets {
+ns_log debug "
+DB --------------------------------------------------------------------------------
+DB DAVE debugging procedure dtype::create_form
+DB --------------------------------------------------------------------------------
+DB attribute_name = '${attribute_name}'
+DB widget = '${widget}'
+DB --------------------------------------------------------------------------------"
append code "
- dtype::form::create_widget \
+ dtype::form::metadata::create_widget \
-object_type $object_type \
-dform $dform \
-attribute_name $attribute_name \
@@ -400,11 +407,11 @@
if {!$object_p} {
# create widget param for select list
append code "
- dtype::form::create_widget_param \
+ dtype::form::metadata::create_widget_param \
-object_type $object_type \
-dform $dform \
-attribute_name $attribute_name \
- -param_name [dtype::table::pretty_name [lindex $fk_array($attribute_name) 0]] \
+ -param_name options \
-type multilist \
-source query \
-value \"select $attribute_name, pretty_name from [lindex $fk_array($attribute_name) 1]\"
@@ -416,8 +423,11 @@
}
}
-
-return $code
+ if {$evaluate} {
+ eval $code
+ } else {
+ return $code
+ }
}
ad_proc -public dtype::get_table_name {
Index: openacs-4/packages/dynamic-types/tcl/form-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/tcl/form-procs.tcl,v
diff -u -r1.2.2.2 -r1.2.2.3
--- openacs-4/packages/dynamic-types/tcl/form-procs.tcl 17 Feb 2005 15:03:13 -0000 1.2.2.2
+++ openacs-4/packages/dynamic-types/tcl/form-procs.tcl 18 Feb 2005 17:03:11 -0000 1.2.2.3
@@ -172,7 +172,6 @@
# Pull the action out of the form
set action [template::element::get_value $form ${prefix}dform_action]
set new_p [string equal $action "new"]
-
if {$new_p} {
set types [dtype::form::types_list \
-object_type $object_type]
@@ -275,10 +274,6 @@
set columns [list]
set values [list]
- # DAVEB since add_elements excludes acs_object attributes, we need
- # to set some of them to reasonable defaults
- # object_type
- # what do we do about context_id? Its application specific
# LEED context_id and similar fields should be passed in using the
# -defaults { context_id 1234 } argument
@@ -382,7 +377,7 @@
values
(:item_id, [join $values ", "])"
} else {
- set latest_revision [db_map latest_revision]
+ set latest_revision [content::item::get_latest_revision -item_id $item_id]
db_dml insert_statement "
insert into ${type_info(table_name)}i
@@ -807,14 +802,6 @@
set metadata [dtype::form::metadata::widgets_list \
-object_type $object_type \
-dform $dform]
-ns_log notice "
-
-DB --------------------------------------------------------------------------------
-DB DAVE debugging procedure dtype::form::metadata::widgets
-DB --------------------------------------------------------------------------------
-DB object_type = '${object_type}'
-DB metadata = '${metadata}'
-DB --------------------------------------------------------------------------------"
foreach widget $metadata {
if {$multirow_p} {
eval "template::multirow append \$multirow $widget"
Index: openacs-4/packages/dynamic-types/tcl/page-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/tcl/page-procs.tcl,v
diff -u -r1.1.2.1 -r1.1.2.2
--- openacs-4/packages/dynamic-types/tcl/page-procs.tcl 17 Feb 2005 15:03:13 -0000 1.1.2.1
+++ openacs-4/packages/dynamic-types/tcl/page-procs.tcl 18 Feb 2005 17:03:11 -0000 1.1.2.2
@@ -17,7 +17,7 @@
-package_key
{-overwrite "t"}
{-expand_form "t"}
- {-pages {add}}
+ {-pages {add edit one index}}
} {
Generate a set of add/edit/delete/index pages
for a dynamic type
@@ -38,6 +38,9 @@
acs_object_type::get -object_type $object_type -array object_type_info
set id_column $object_type_info(id_column)
set pretty_name $object_type_info(pretty_name)
+ set pretty_plural $object_type_info(pretty_plural)
+ set table_name $object_type_info(table_name)
+
set dest [file join [acs_root_dir] packages dynamic-types lib ${object_type}]
if {![file exists $dest]} {
file mkdir $dest
@@ -49,17 +52,25 @@
close $fd
regsub -all {id_column} $code $id_column code
regsub -all {pretty_name} $code $pretty_name code
- regsub -all {__object_type} $code $object_type code
+ regsub -all {pretty_plural} $code $pretty_plural code
+ regsub -all {__object_type} $code $object_type code
+ regsub -all {table_name} $code $table_name code
set fd [open [file join $dest ${page}.tcl] w]
puts $fd $code
close $fd
# generate add adp page
set fd [open [adp_template_path -page ${page}]]
set code [read $fd]
close $fd
- if {$expand_form} {
+ regsub -all {id_column} $code $id_column code
+ regsub -all {pretty_name} $code $pretty_name code
+ regsub -all {pretty_plural} $code $pretty_plural code
+ regsub -all {__object_type} $code $object_type code
+ regsub -all {table_name} $code $table_name code
+ if {[regexp {"
- set result "[expand_form -object_type $object_type]"
+ set result "[expand_form -object_type $object_type -page ${page}]"
regsub $regexp $code $result code
}
set fd [open [file join $dest ${page}.adp] w]
@@ -104,6 +115,7 @@
ad_proc -public dtype::page::expand_form {
-object_type
+ -page
} {
Generate adp for formtemplate
@@ -117,10 +129,15 @@
@error
} {
- set form_id __my_form
+ set form_id $page
template::form::create $form_id
dtype::form::add_elements \
-object_type $object_type \
- -form $form_id
- return [template::form::template $form_id]
+ -form $form_id \
+ -dform standard
+ # add a submit button
+ # FIXME do something smart here
+ template::element create $form_id formbutton:ok -widget submit -label " OK " -datatype text
+ set result [template::form::template $form_id]
+ return $result
}
Index: openacs-4/packages/dynamic-types/tcl/table-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dynamic-types/tcl/table-procs-postgresql.xql,v
diff -u -r1.1.2.2 -r1.1.2.3
--- openacs-4/packages/dynamic-types/tcl/table-procs-postgresql.xql 17 Feb 2005 15:03:13 -0000 1.1.2.2
+++ openacs-4/packages/dynamic-types/tcl/table-procs-postgresql.xql 18 Feb 2005 17:03:11 -0000 1.1.2.3
@@ -20,6 +20,7 @@
money money date date timestamptz date
"timestamp with time zone" date
"timestamp without time zone" date
+ timestamp date
"time without time zone" time_of_day
"time with time zone" time_of_day time time_of_day "" enumeration
"" url "" email "" keyword