[my object] mixin add ButtonCancelMixin [my object] mixin add ::xowf::AssignmentCoreWFprocs my mixin add ::xowf::AssignmentState State initial -actions {create_new draft} \ -form_loader create_assign_initial_loader \ -view_method edit State editing -actions {open_edit} \ -form_loader create_assign_published \ -view_method edit State assign -actions {saveZB draft} \ -view_method edit \ -form_loader create_assign_studentmgr Action create_new -label [_ tlf-assignments.create_create_new] \ -next_state assign -proc activate {obj} {$obj save_values} Action open_edit \ -next_state initial \ -label [_ tlf-assignments.cont_edit] Action draft -next_state editing \ -label [_ tlf-assignments.create_draft] \ -proc activate {obj} {$obj save_values} Action saveZB -next_state published \ -label [_ tlf-assignments.create_saveZB] Action edit_again -next_state published \ -label [_ tlf-assignments.save_chan] \ -proc activate {obj} {$obj update_cal} State published -view_method render_exercise -in_role admin { -form_loader create_assign_published -view_method edit } -form_loader create_assign_published published proc actions {} { if {[permission::permission_p -no_login \ -party_id [::xo::cc user_id] \ -object_id [[my object] item_id] \ -privilege admin] && [::xo::cc query_parameter m] eq "edit"} { return edit_again }} # # Local variables: # mode: tcl # tcl-indent-level: 4 # indent-tabs-mode: nil # End: