edu_set_class_roles_and_actions db class_idWhat it does:
This takes a class id and a database handle and sets up the class permission options. This should be called when a class is first created and we want to set up all of the permissions.Defined in: /web/philip/tcl/education.tcl
Source code:
set roles [edu_get_class_original_role_pretty_role]
set role_action_map [edu_get_class_roles_to_actions_map]
set action_list [list "Manage Users" "Add Tasks" "Edit Tasks" "Delete Tasks" "Edit Class Properties" "Manage Communications" "Edit Permissions" "View Admin Pages" "Evaluate" "Spam Users" "Submit Tasks"]
#the first thing we want to do is add all of the roles
foreach role $roles {
ad_user_group_role_add $db $class_id [lindex $role 0]
# the trigger will have done the insert so now we update
# the information
ns_db dml $db "update edu_role_pretty_role_map
set pretty_role = '[lindex $role 1]',
pretty_role_plural = '[lindex $role 2]'
where role = '[lindex $role 0]'"
}
#now, add all of the roles
foreach action $action_list {
ad_user_group_action_add $db $class_id "$action"
}
#now, map the roles to the correct actions
foreach role_action $role_action_map {
set role [lindex $role_action 0]
set action_list [lindex $role_action 1]
foreach action $action_list {
ad_user_group_action_role_map $db $class_id $action $role
}
}