Index: openacs-4/contrib/packages/simulation/tcl/template-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/tcl/Attic/template-procs.tcl,v
diff -u -r1.30 -r1.31
--- openacs-4/contrib/packages/simulation/tcl/template-procs.tcl 19 Dec 2003 13:03:20 -0000 1.30
+++ openacs-4/contrib/packages/simulation/tcl/template-procs.tcl 6 Jan 2004 16:26:37 -0000 1.31
@@ -743,3 +743,58 @@
return $workflow_id
}
+
+ad_proc -public simulation::template::get_inst_state {
+ -workflow_id:required
+} {
+ Get the instantiation state of a simulation template.
+
+ States:
+
+
+ - none
+
- roles_complete
+
- tasks_complete
+
- casting_begun
+
+} {
+ simulation::template::get -workflow_id $workflow_id -array sim_template
+
+
+ switch $sim_template(sim_type) {
+ dev_sim {
+ set state "none"
+
+ # 1. Roles
+ set role_empty_count [db_string role_empty_count {
+ select count(*)
+ from sim_roles sr,
+ workflow_roles wr
+ where sr.role_id = wr.role_id
+ and wr.workflow_id = :workflow_id
+ and character_id is null
+ }]
+ if { $role_empty_count == 0 } {
+ set state "roles"
+
+ # 2. Tasks
+ set prop_empty_count [db_string prop_empty_count {
+ select sum((select count(*) from sim_task_object_map where task_id = wa.action_id) - st.attachment_num)
+ from sim_tasks st,
+ workflow_actions wa
+ where st.task_id = wa.action_id
+ and wa.workflow_id = :workflow_id
+ }]
+
+ if { $prop_empty_count == 0 } {
+ set state "tasks"
+ }
+ }
+ }
+ casting_sim {
+ set state "casting_begun"
+ }
+ }
+
+ return $state
+}
Index: openacs-4/contrib/packages/simulation/www/siminst/simulation-casting-2.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/siminst/Attic/simulation-casting-2.adp,v
diff -u -r1.9 -r1.10
--- openacs-4/contrib/packages/simulation/www/siminst/simulation-casting-2.adp 6 Jan 2004 14:56:42 -0000 1.9
+++ openacs-4/contrib/packages/simulation/www/siminst/simulation-casting-2.adp 6 Jan 2004 16:26:37 -0000 1.10
@@ -1,3 +1,14 @@
-
-TODO: implement invitations.
-
TODO: When switching from open enrollment to "by invitation only" and back, the dates are lost -- see if we can avoid that.
+
+
+ You have not yet started casting this simulation.
+
+
+ Once you start casting, you can no longer change the roles mapping or task setup.
+
+ Begin casting now
+
+
+
+ TODO: implement invitations.
+
TODO: When switching from open enrollment to "by invitation only" and back, the dates are lost -- see if we can avoid that.
+
Index: openacs-4/contrib/packages/simulation/www/siminst/simulation-casting-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/siminst/Attic/simulation-casting-2.tcl,v
diff -u -r1.16 -r1.17
--- openacs-4/contrib/packages/simulation/www/siminst/simulation-casting-2.tcl 6 Jan 2004 14:56:42 -0000 1.16
+++ openacs-4/contrib/packages/simulation/www/siminst/simulation-casting-2.tcl 6 Jan 2004 16:26:37 -0000 1.17
@@ -6,126 +6,134 @@
simulation::template::get -workflow_id $workflow_id -array sim_template
-set page_title "Cast $sim_template(pretty_name)"
-set context [list [list "." "SimInst"] $page_title]
-set package_id [ad_conn package_id]
+if { ![string equal $sim_template(sim_type) "casting_sim"] } {
+ set page_title "Begin Casting"
+ set begin_casting_url [export_vars -base simulation-casting { workflow_id {return_url {[ad_return_url]}} }]
-subsite::get -array closest_subsite
-set group_admin_url "${closest_subsite(url)}admin/group-types/one?group_type=group"
+} else {
-# TODO: verify that prepopulated values work correctly
+ set page_title "Cast $sim_template(pretty_name)"
+ set package_id [ad_conn package_id]
-# TODO: provide more sensible default dates?
-# Notification send could be start date minus some parameter
-set in_a_month_date [clock format [expr [clock seconds] + 3600*24*31] -format "%Y-%m-%d"]
-set in_two_months_date [clock format [expr [clock seconds] + 2*3600*24*31] -format "%Y-%m-%d"]
-set in_two_and_a_half_months_date [clock format [expr [clock seconds] + 3*3600*24*31 - 3600*24*15] -format "%Y-%m-%d"]
-set in_three_months_date [clock format [expr [clock seconds] + 3*3600*24*31] -format "%Y-%m-%d"]
-set in_four_months_date [clock format [expr [clock seconds] + 4*3600*24*31] -format "%Y-%m-%d"]
+ subsite::get -array closest_subsite
+ set group_admin_url "${closest_subsite(url)}admin/group-types/one?group_type=group"
-set eligible_groups [simulation::casting_groups -workflow_id $workflow_id]
+ # TODO: verify that prepopulated values work correctly
-ad_form -export { workflow_id } -name simulation -form {
- {enroll_type:text(radio)
- {label "Enrollment type"}
- {options {{"By invitation only" closed} {Open open}}}
- {html {onChange "javascript:FormRefresh('simulation');"}}
- }
- {enroll_start:date,to_sql(ansi),from_sql(ansi),optional
- {label "Enrollment start date"}
- }
- {enroll_end:date,to_sql(ansi),from_sql(ansi),optional
- {label "Enrollment end date"}
- }
- {send_start_note_date:date,to_sql(ansi),from_sql(ansi),optional
- {label "Date to send start notification (mockup only)"}
- }
- {case_start:date,to_sql(ansi),from_sql(ansi),optional
- {label "Simulation start date"}
- }
- {case_end:date,to_sql(ansi),from_sql(ansi),optional
- {label "Simulation end date"}
- }
- {casting_type:text(radio)
- {label "Casting type"}
- {options {{Automatic auto} {Group group} {Open open}}}
- }
- {auto_enroll:integer(checkbox),multiple,optional
- {label "Enroll all users in these groups"}
- {options $eligible_groups}
- {help_text {Use Group Administration to add groups}}
- }
- {invite_groups:integer(checkbox),multiple,optional
- {label "Invite all users in these groups (mockup only)"}
- {options $eligible_groups}
- {help_text {Use Group Administration to add groups}}
- }
-} -on_request {
+ # TODO: provide more sensible default dates?
+ # Notification send could be start date minus some parameter
+ set in_a_month_date [clock format [expr [clock seconds] + 3600*24*31] -format "%Y-%m-%d"]
+ set in_two_months_date [clock format [expr [clock seconds] + 2*3600*24*31] -format "%Y-%m-%d"]
+ set in_two_and_a_half_months_date [clock format [expr [clock seconds] + 3*3600*24*31 - 3600*24*15] -format "%Y-%m-%d"]
+ set in_three_months_date [clock format [expr [clock seconds] + 3*3600*24*31] -format "%Y-%m-%d"]
+ set in_four_months_date [clock format [expr [clock seconds] + 4*3600*24*31] -format "%Y-%m-%d"]
- foreach elm {
- enroll_type
- casting_type
- enroll_start
- enroll_end
- case_start
- case_end
- send_start_note_date
- } {
- set $elm $sim_template($elm)
- }
+ set eligible_groups [simulation::casting_groups -workflow_id $workflow_id]
- set auto_enroll [simulation::template::get_parties -workflow_id $workflow_id -rel_type auto_enroll]
+ ad_form -export { workflow_id } -name simulation -form {
+ {enroll_type:text(radio)
+ {label "Enrollment type"}
+ {options {{"By invitation only" closed} {Open open}}}
+ {html {onChange "javascript:FormRefresh('simulation');"}}
+ }
+ {enroll_start:date,to_sql(ansi),from_sql(ansi),optional
+ {label "Enrollment start date"}
+ }
+ {enroll_end:date,to_sql(ansi),from_sql(ansi),optional
+ {label "Enrollment end date"}
+ }
+ {send_start_note_date:date,to_sql(ansi),from_sql(ansi),optional
+ {label "Date to send start notification (mockup only)"}
+ }
+ {case_start:date,to_sql(ansi),from_sql(ansi),optional
+ {label "Simulation start date"}
+ }
+ {case_end:date,to_sql(ansi),from_sql(ansi),optional
+ {label "Simulation end date"}
+ }
+ {casting_type:text(radio)
+ {label "Casting type"}
+ {options {{Automatic auto} {Group group} {Open open}}}
+ }
+ {auto_enroll:integer(checkbox),multiple,optional
+ {label "Enroll all users in these groups"}
+ {options $eligible_groups}
+ {help_text {Use Group Administration to add groups}}
+ }
+ {invite_groups:integer(checkbox),multiple,optional
+ {label "Invite all users in these groups (mockup only)"}
+ {options $eligible_groups}
+ {help_text {Use Group Administration to add groups}}
+ }
+ } -on_request {
- # Default values
- if { [empty_string_p $enroll_start] } {
- set enroll_start $in_a_month_date
- }
- if { [empty_string_p $enroll_end] } {
- set enroll_end $in_two_months_date
- }
- if { [empty_string_p $send_start_note_date] } {
- set send_start_note_date $in_two_and_a_half_months_date
- }
- if { [empty_string_p $case_start] } {
- set case_start $in_three_months_date
- }
- if { [empty_string_p $case_end] } {
- set case_end $in_three_months_date
- }
- if { [empty_string_p $enroll_type] } {
- set enroll_type "closed"
- }
- if { [empty_string_p $casting_type] } {
- set casting_type "auto"
- }
+ foreach elm {
+ enroll_type
+ casting_type
+ enroll_start
+ enroll_end
+ case_start
+ case_end
+ send_start_note_date
+ } {
+ set $elm $sim_template($elm)
+ }
- if { [string equal $enroll_type "closed"] } {
- element set_properties simulation enroll_start -widget hidden
- element set_properties simulation enroll_end -widget hidden
- }
+ set auto_enroll [simulation::template::get_parties -workflow_id $workflow_id -rel_type auto_enroll]
-} -on_refresh {
+ # Default values
+ if { [empty_string_p $enroll_start] } {
+ set enroll_start $in_a_month_date
+ }
+ if { [empty_string_p $enroll_end] } {
+ set enroll_end $in_two_months_date
+ }
+ if { [empty_string_p $send_start_note_date] } {
+ set send_start_note_date $in_two_and_a_half_months_date
+ }
+ if { [empty_string_p $case_start] } {
+ set case_start $in_three_months_date
+ }
+ if { [empty_string_p $case_end] } {
+ set case_end $in_three_months_date
+ }
+ if { [empty_string_p $enroll_type] } {
+ set enroll_type "closed"
+ }
+ if { [empty_string_p $casting_type] } {
+ set casting_type "auto"
+ }
- if { [string equal $enroll_type "closed"] } {
- element set_properties simulation enroll_start -widget hidden
- element set_properties simulation enroll_end -widget hidden
- } else {
- element set_properties simulation enroll_start -widget date
- element set_properties simulation enroll_end -widget date
- }
+ if { [string equal $enroll_type "closed"] } {
+ element set_properties simulation enroll_start -widget hidden
+ element set_properties simulation enroll_end -widget hidden
+ }
-} -on_submit {
- foreach elm { enroll_start enroll_end send_start_note_date case_start case_end enroll_type casting_type auto_enroll } {
- set row($elm) [set $elm]
- }
-
- # TODO: add invite_gropus to list of elements above
+ } -on_refresh {
- simulation::template::edit \
- -workflow_id $workflow_id \
- -array row
+ if { [string equal $enroll_type "closed"] } {
+ element set_properties simulation enroll_start -widget hidden
+ element set_properties simulation enroll_end -widget hidden
+ } else {
+ element set_properties simulation enroll_start -widget date
+ element set_properties simulation enroll_end -widget date
+ }
- wizard forward
+ } -on_submit {
+ foreach elm { enroll_start enroll_end send_start_note_date case_start case_end enroll_type casting_type auto_enroll } {
+ set row($elm) [set $elm]
+ }
+
+ # TODO: add invite_gropus to list of elements above
+
+ simulation::template::edit \
+ -workflow_id $workflow_id \
+ -array row
+
+ wizard forward
+ }
+
+ wizard submit simulation -buttons { back next }
}
-wizard submit simulation -buttons { back next }
+set context [list [list "." "SimInst"] $page_title]
Index: openacs-4/contrib/packages/simulation/www/siminst/wizard.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/siminst/Attic/wizard.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/simulation/www/siminst/wizard.adp 6 Jan 2004 14:56:42 -0000 1.1
+++ openacs-4/contrib/packages/simulation/www/siminst/wizard.adp 6 Jan 2004 16:26:37 -0000 1.2
@@ -21,12 +21,22 @@
@wizard.id@. @wizard.label@
+
-
+
+
+
+
+
+ @wizard.id@. @wizard.label@
+
+
+
Index: openacs-4/contrib/packages/simulation/www/siminst/wizard.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/www/siminst/Attic/wizard.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/contrib/packages/simulation/www/siminst/wizard.tcl 6 Jan 2004 14:56:42 -0000 1.1
+++ openacs-4/contrib/packages/simulation/www/siminst/wizard.tcl 6 Jan 2004 16:26:37 -0000 1.2
@@ -19,8 +19,31 @@
wizard set_param workflow_id $workflow_id
-wizard get_current_step
+set state [simulation::template::get_inst_state -workflow_id $workflow_id]
+switch $state {
+ none {
+ set lowest_available 1
+ set progress 0
+ }
+ roles_complete {
+ set lowest_available 1
+ set progress 1
+ }
+ tasks_complete {
+ set lowest_available 1
+ set progress 2
+ }
+ casting_begun {
+ set lowest_available 3
+ set progress 2
+ }
+}
+
+set highest_available [expr $progress + 1]
+
+wizard get_current_step -start $highest_available
+
array set title {
1 "Assign Roles to Characters"
2 "Populate Tasks"
@@ -29,8 +52,8 @@
}
set sub_title $title(${wizard:current_id})
-
-simulation::template::get -workflow_id $workflow_id -array sim_template
-set page_title "$sim_template(pretty_name)"
+workflow::get -workflow_id $workflow_id -array workflow
+set page_title "$workflow(pretty_name)"
set context [list [list "." "SimInst"] $page_title]
+
Index: openacs-4/packages/simulation/tcl/template-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/tcl/template-procs.tcl,v
diff -u -r1.30 -r1.31
--- openacs-4/packages/simulation/tcl/template-procs.tcl 19 Dec 2003 13:03:20 -0000 1.30
+++ openacs-4/packages/simulation/tcl/template-procs.tcl 6 Jan 2004 16:26:37 -0000 1.31
@@ -743,3 +743,58 @@
return $workflow_id
}
+
+ad_proc -public simulation::template::get_inst_state {
+ -workflow_id:required
+} {
+ Get the instantiation state of a simulation template.
+
+ States:
+
+
+ - none
+
- roles_complete
+
- tasks_complete
+
- casting_begun
+
+} {
+ simulation::template::get -workflow_id $workflow_id -array sim_template
+
+
+ switch $sim_template(sim_type) {
+ dev_sim {
+ set state "none"
+
+ # 1. Roles
+ set role_empty_count [db_string role_empty_count {
+ select count(*)
+ from sim_roles sr,
+ workflow_roles wr
+ where sr.role_id = wr.role_id
+ and wr.workflow_id = :workflow_id
+ and character_id is null
+ }]
+ if { $role_empty_count == 0 } {
+ set state "roles"
+
+ # 2. Tasks
+ set prop_empty_count [db_string prop_empty_count {
+ select sum((select count(*) from sim_task_object_map where task_id = wa.action_id) - st.attachment_num)
+ from sim_tasks st,
+ workflow_actions wa
+ where st.task_id = wa.action_id
+ and wa.workflow_id = :workflow_id
+ }]
+
+ if { $prop_empty_count == 0 } {
+ set state "tasks"
+ }
+ }
+ }
+ casting_sim {
+ set state "casting_begun"
+ }
+ }
+
+ return $state
+}
Index: openacs-4/packages/simulation/www/siminst/simulation-casting-2.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/siminst/Attic/simulation-casting-2.adp,v
diff -u -r1.9 -r1.10
--- openacs-4/packages/simulation/www/siminst/simulation-casting-2.adp 6 Jan 2004 14:56:42 -0000 1.9
+++ openacs-4/packages/simulation/www/siminst/simulation-casting-2.adp 6 Jan 2004 16:26:37 -0000 1.10
@@ -1,3 +1,14 @@
-
-TODO: implement invitations.
-
TODO: When switching from open enrollment to "by invitation only" and back, the dates are lost -- see if we can avoid that.
+
+
+ You have not yet started casting this simulation.
+
+
+ Once you start casting, you can no longer change the roles mapping or task setup.
+
+ Begin casting now
+
+
+
+ TODO: implement invitations.
+
TODO: When switching from open enrollment to "by invitation only" and back, the dates are lost -- see if we can avoid that.
+
Index: openacs-4/packages/simulation/www/siminst/simulation-casting-2.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/siminst/Attic/simulation-casting-2.tcl,v
diff -u -r1.16 -r1.17
--- openacs-4/packages/simulation/www/siminst/simulation-casting-2.tcl 6 Jan 2004 14:56:42 -0000 1.16
+++ openacs-4/packages/simulation/www/siminst/simulation-casting-2.tcl 6 Jan 2004 16:26:37 -0000 1.17
@@ -6,126 +6,134 @@
simulation::template::get -workflow_id $workflow_id -array sim_template
-set page_title "Cast $sim_template(pretty_name)"
-set context [list [list "." "SimInst"] $page_title]
-set package_id [ad_conn package_id]
+if { ![string equal $sim_template(sim_type) "casting_sim"] } {
+ set page_title "Begin Casting"
+ set begin_casting_url [export_vars -base simulation-casting { workflow_id {return_url {[ad_return_url]}} }]
-subsite::get -array closest_subsite
-set group_admin_url "${closest_subsite(url)}admin/group-types/one?group_type=group"
+} else {
-# TODO: verify that prepopulated values work correctly
+ set page_title "Cast $sim_template(pretty_name)"
+ set package_id [ad_conn package_id]
-# TODO: provide more sensible default dates?
-# Notification send could be start date minus some parameter
-set in_a_month_date [clock format [expr [clock seconds] + 3600*24*31] -format "%Y-%m-%d"]
-set in_two_months_date [clock format [expr [clock seconds] + 2*3600*24*31] -format "%Y-%m-%d"]
-set in_two_and_a_half_months_date [clock format [expr [clock seconds] + 3*3600*24*31 - 3600*24*15] -format "%Y-%m-%d"]
-set in_three_months_date [clock format [expr [clock seconds] + 3*3600*24*31] -format "%Y-%m-%d"]
-set in_four_months_date [clock format [expr [clock seconds] + 4*3600*24*31] -format "%Y-%m-%d"]
+ subsite::get -array closest_subsite
+ set group_admin_url "${closest_subsite(url)}admin/group-types/one?group_type=group"
-set eligible_groups [simulation::casting_groups -workflow_id $workflow_id]
+ # TODO: verify that prepopulated values work correctly
-ad_form -export { workflow_id } -name simulation -form {
- {enroll_type:text(radio)
- {label "Enrollment type"}
- {options {{"By invitation only" closed} {Open open}}}
- {html {onChange "javascript:FormRefresh('simulation');"}}
- }
- {enroll_start:date,to_sql(ansi),from_sql(ansi),optional
- {label "Enrollment start date"}
- }
- {enroll_end:date,to_sql(ansi),from_sql(ansi),optional
- {label "Enrollment end date"}
- }
- {send_start_note_date:date,to_sql(ansi),from_sql(ansi),optional
- {label "Date to send start notification (mockup only)"}
- }
- {case_start:date,to_sql(ansi),from_sql(ansi),optional
- {label "Simulation start date"}
- }
- {case_end:date,to_sql(ansi),from_sql(ansi),optional
- {label "Simulation end date"}
- }
- {casting_type:text(radio)
- {label "Casting type"}
- {options {{Automatic auto} {Group group} {Open open}}}
- }
- {auto_enroll:integer(checkbox),multiple,optional
- {label "Enroll all users in these groups"}
- {options $eligible_groups}
- {help_text {Use Group Administration to add groups}}
- }
- {invite_groups:integer(checkbox),multiple,optional
- {label "Invite all users in these groups (mockup only)"}
- {options $eligible_groups}
- {help_text {Use Group Administration to add groups}}
- }
-} -on_request {
+ # TODO: provide more sensible default dates?
+ # Notification send could be start date minus some parameter
+ set in_a_month_date [clock format [expr [clock seconds] + 3600*24*31] -format "%Y-%m-%d"]
+ set in_two_months_date [clock format [expr [clock seconds] + 2*3600*24*31] -format "%Y-%m-%d"]
+ set in_two_and_a_half_months_date [clock format [expr [clock seconds] + 3*3600*24*31 - 3600*24*15] -format "%Y-%m-%d"]
+ set in_three_months_date [clock format [expr [clock seconds] + 3*3600*24*31] -format "%Y-%m-%d"]
+ set in_four_months_date [clock format [expr [clock seconds] + 4*3600*24*31] -format "%Y-%m-%d"]
- foreach elm {
- enroll_type
- casting_type
- enroll_start
- enroll_end
- case_start
- case_end
- send_start_note_date
- } {
- set $elm $sim_template($elm)
- }
+ set eligible_groups [simulation::casting_groups -workflow_id $workflow_id]
- set auto_enroll [simulation::template::get_parties -workflow_id $workflow_id -rel_type auto_enroll]
+ ad_form -export { workflow_id } -name simulation -form {
+ {enroll_type:text(radio)
+ {label "Enrollment type"}
+ {options {{"By invitation only" closed} {Open open}}}
+ {html {onChange "javascript:FormRefresh('simulation');"}}
+ }
+ {enroll_start:date,to_sql(ansi),from_sql(ansi),optional
+ {label "Enrollment start date"}
+ }
+ {enroll_end:date,to_sql(ansi),from_sql(ansi),optional
+ {label "Enrollment end date"}
+ }
+ {send_start_note_date:date,to_sql(ansi),from_sql(ansi),optional
+ {label "Date to send start notification (mockup only)"}
+ }
+ {case_start:date,to_sql(ansi),from_sql(ansi),optional
+ {label "Simulation start date"}
+ }
+ {case_end:date,to_sql(ansi),from_sql(ansi),optional
+ {label "Simulation end date"}
+ }
+ {casting_type:text(radio)
+ {label "Casting type"}
+ {options {{Automatic auto} {Group group} {Open open}}}
+ }
+ {auto_enroll:integer(checkbox),multiple,optional
+ {label "Enroll all users in these groups"}
+ {options $eligible_groups}
+ {help_text {Use Group Administration to add groups}}
+ }
+ {invite_groups:integer(checkbox),multiple,optional
+ {label "Invite all users in these groups (mockup only)"}
+ {options $eligible_groups}
+ {help_text {Use Group Administration to add groups}}
+ }
+ } -on_request {
- # Default values
- if { [empty_string_p $enroll_start] } {
- set enroll_start $in_a_month_date
- }
- if { [empty_string_p $enroll_end] } {
- set enroll_end $in_two_months_date
- }
- if { [empty_string_p $send_start_note_date] } {
- set send_start_note_date $in_two_and_a_half_months_date
- }
- if { [empty_string_p $case_start] } {
- set case_start $in_three_months_date
- }
- if { [empty_string_p $case_end] } {
- set case_end $in_three_months_date
- }
- if { [empty_string_p $enroll_type] } {
- set enroll_type "closed"
- }
- if { [empty_string_p $casting_type] } {
- set casting_type "auto"
- }
+ foreach elm {
+ enroll_type
+ casting_type
+ enroll_start
+ enroll_end
+ case_start
+ case_end
+ send_start_note_date
+ } {
+ set $elm $sim_template($elm)
+ }
- if { [string equal $enroll_type "closed"] } {
- element set_properties simulation enroll_start -widget hidden
- element set_properties simulation enroll_end -widget hidden
- }
+ set auto_enroll [simulation::template::get_parties -workflow_id $workflow_id -rel_type auto_enroll]
-} -on_refresh {
+ # Default values
+ if { [empty_string_p $enroll_start] } {
+ set enroll_start $in_a_month_date
+ }
+ if { [empty_string_p $enroll_end] } {
+ set enroll_end $in_two_months_date
+ }
+ if { [empty_string_p $send_start_note_date] } {
+ set send_start_note_date $in_two_and_a_half_months_date
+ }
+ if { [empty_string_p $case_start] } {
+ set case_start $in_three_months_date
+ }
+ if { [empty_string_p $case_end] } {
+ set case_end $in_three_months_date
+ }
+ if { [empty_string_p $enroll_type] } {
+ set enroll_type "closed"
+ }
+ if { [empty_string_p $casting_type] } {
+ set casting_type "auto"
+ }
- if { [string equal $enroll_type "closed"] } {
- element set_properties simulation enroll_start -widget hidden
- element set_properties simulation enroll_end -widget hidden
- } else {
- element set_properties simulation enroll_start -widget date
- element set_properties simulation enroll_end -widget date
- }
+ if { [string equal $enroll_type "closed"] } {
+ element set_properties simulation enroll_start -widget hidden
+ element set_properties simulation enroll_end -widget hidden
+ }
-} -on_submit {
- foreach elm { enroll_start enroll_end send_start_note_date case_start case_end enroll_type casting_type auto_enroll } {
- set row($elm) [set $elm]
- }
-
- # TODO: add invite_gropus to list of elements above
+ } -on_refresh {
- simulation::template::edit \
- -workflow_id $workflow_id \
- -array row
+ if { [string equal $enroll_type "closed"] } {
+ element set_properties simulation enroll_start -widget hidden
+ element set_properties simulation enroll_end -widget hidden
+ } else {
+ element set_properties simulation enroll_start -widget date
+ element set_properties simulation enroll_end -widget date
+ }
- wizard forward
+ } -on_submit {
+ foreach elm { enroll_start enroll_end send_start_note_date case_start case_end enroll_type casting_type auto_enroll } {
+ set row($elm) [set $elm]
+ }
+
+ # TODO: add invite_gropus to list of elements above
+
+ simulation::template::edit \
+ -workflow_id $workflow_id \
+ -array row
+
+ wizard forward
+ }
+
+ wizard submit simulation -buttons { back next }
}
-wizard submit simulation -buttons { back next }
+set context [list [list "." "SimInst"] $page_title]
Index: openacs-4/packages/simulation/www/siminst/wizard.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/siminst/wizard.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/simulation/www/siminst/wizard.adp 6 Jan 2004 14:56:42 -0000 1.1
+++ openacs-4/packages/simulation/www/siminst/wizard.adp 6 Jan 2004 16:26:37 -0000 1.2
@@ -21,12 +21,22 @@
@wizard.id@. @wizard.label@
+
-
+
+
+
+
+
+ @wizard.id@. @wizard.label@
+
+
+
Index: openacs-4/packages/simulation/www/siminst/wizard.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/www/siminst/wizard.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/simulation/www/siminst/wizard.tcl 6 Jan 2004 14:56:42 -0000 1.1
+++ openacs-4/packages/simulation/www/siminst/wizard.tcl 6 Jan 2004 16:26:37 -0000 1.2
@@ -19,8 +19,31 @@
wizard set_param workflow_id $workflow_id
-wizard get_current_step
+set state [simulation::template::get_inst_state -workflow_id $workflow_id]
+switch $state {
+ none {
+ set lowest_available 1
+ set progress 0
+ }
+ roles_complete {
+ set lowest_available 1
+ set progress 1
+ }
+ tasks_complete {
+ set lowest_available 1
+ set progress 2
+ }
+ casting_begun {
+ set lowest_available 3
+ set progress 2
+ }
+}
+
+set highest_available [expr $progress + 1]
+
+wizard get_current_step -start $highest_available
+
array set title {
1 "Assign Roles to Characters"
2 "Populate Tasks"
@@ -29,8 +52,8 @@
}
set sub_title $title(${wizard:current_id})
-
-simulation::template::get -workflow_id $workflow_id -array sim_template
-set page_title "$sim_template(pretty_name)"
+workflow::get -workflow_id $workflow_id -array workflow
+set page_title "$workflow(pretty_name)"
set context [list [list "." "SimInst"] $page_title]
+