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: + + +} { + 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@ -
+ +
+ @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: + + +} { + 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@ -
+ +
+ @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] +