Index: openacs-4/packages/courses/catalog/courses.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/catalog/courses.en_US.ISO-8859-1.xml,v diff -u -r1.3 -r1.4 --- openacs-4/packages/courses/catalog/courses.en_US.ISO-8859-1.xml 2 Feb 2005 23:01:00 -0000 1.3 +++ openacs-4/packages/courses/catalog/courses.en_US.ISO-8859-1.xml 3 Feb 2005 22:41:27 -0000 1.4 @@ -23,6 +23,7 @@ Grant Grant List Grant Permissions + Grant permissions to other users Granted is associated to: Make This Course Live @@ -36,16 +37,18 @@ Revisions Revoke Revoke Permissions + use only lower case and search for entire email or just part of it use only lower case and search for one first name or last name. Search Users Search User Name: Search for user Email: + Search Users To Grant Permissions On See All Revisions Subject Name Term Name To User Name: - Users To Grant Permissions + users to grant permissions that match that search Watch Watch Association Yes Index: openacs-4/packages/courses/tcl/course-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/tcl/course-procs.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/courses/tcl/course-procs.tcl 2 Feb 2005 23:01:00 -0000 1.2 +++ openacs-4/packages/courses/tcl/course-procs.tcl 3 Feb 2005 22:41:27 -0000 1.3 @@ -2,7 +2,8 @@ Tcl API for course_catalog store and manipulation - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) + @author Miguel Marin (miguelmarin@viaro.net) + @Viaro Networks (href=www.viaro.net>www.viaro.net) } namespace eval course_catalog {} @@ -24,10 +25,18 @@ if { [string equal $parent_id ""] } { set parent_id [course_catalog::get_folder_id] } - return [db_string get_item_from_name { } ] } +ad_proc -public course_catalog::get_creation_user { + -object_id:required +} { + Returns the creation_user of the object_id, returns -1 otherwise + @object_id@ +} { + return [db_string get_creation_user { } -default -1] +} + ad_proc -private course_catalog::set_live { -name:required -revision_id:required @@ -56,7 +65,7 @@ } -ad_proc -public course_catalog::add_relation { +ad_proc -private course_catalog::add_relation { -course_id:required -class_id:required } { @@ -67,7 +76,7 @@ db_exec_plsql add_relation { } } -ad_proc -public course_catalog::has_relation { +ad_proc -private course_catalog::has_relation { -course_id:required } { Returns the class_id of dotlrn_class_instance related to course_id, returns 0 otherwise. @@ -76,7 +85,7 @@ return [db_string has_relation { } -default 0] } -ad_proc -public course_catalog::has_relation_rel_id { +ad_proc -private course_catalog::has_relation_rel_id { -course_id:required } { Returns the class_id of dotlrn_class_instance related to course_id, returns 0 otherwise. @@ -86,11 +95,11 @@ } -ad_proc -public course_catalog::check_live_latest { +ad_proc -private course_catalog::check_live_latest { -revision_id:required } { - Deletes the row of course_catalog table and cr_revisions table where revision_id = @course_id@ - @revision_id The id of the revision in cr_items + Checks if @revision_id@ is the live revision or the latest revision in cr_items + @revision_id@ } { set live [db_string check_live { } -default 0] set latest [db_string check_latest { } -default 0] @@ -101,7 +110,7 @@ } } -ad_proc -public course_catalog::delete_row { +ad_proc -private course_catalog::delete_row { -course_id:required } { Deletes the row of course_catalog table and cr_revisions table where revision_id = @course_id@ @@ -116,7 +125,7 @@ } } -ad_proc -public course_catalog::delete_relation { +ad_proc -private course_catalog::delete_relation { -course_id:required } { Deletes the relation of course_catalog and dotrln class @@ -126,4 +135,46 @@ if { ![string equal $rel_id "0"] } { db_exec_plsql remove_relation { } } +} + +ad_proc -private course_catalog::grant_permissions { + -party_id:required + -object_id:required + -creation_user:required +} { + Gives admin permission to @party_id@ over @object_id@ and over all assessment_id created + by @creation_user@ + @party_id@ The user_id to give permissions + @object_id@ The course_id that the @party_id@ will have permissions on + @creation_user@ The user_id of the user that creates the course_id +} { + permission::grant -party_id $party_id -object_id $object_id -privilege "admin" + set asm_package_id [apm_package_id_from_key assessment] + + db_foreach assessment { } { + if {[permission::permission_p -party_id $creation_user -object_id $assessment_id -privilege "admin"] == 1} { + permission::grant -party_id $party_id -object_id $assessment_id -privilege "admin" + } + } +} + +ad_proc -private course_catalog::revoke_permissions { + -party_id:required + -object_id:required + -creation_user:required +} { + Revokes admin permission to @party_id@ over @object_id@ and over all assessment_id created + by @creation_user@ + @party_id@ The user_id to revoke permissions + @object_id@ The course_id over wich @party_id@ has permissions on + @creation_user@ The user_id of the user that creates the course_id +} { + permission::revoke -party_id $party_id -object_id $object_id -privilege "admin" + set asm_package_id [apm_package_id_from_key assessment] + + db_foreach assessment { } { + if { [permission::permission_p -party_id $creation_user -object_id $assessment_id -privilege admin] == 1 } { + permission::revoke -party_id $party_id -object_id $assessment_id -privilege "admin" + } + } } \ No newline at end of file Index: openacs-4/packages/courses/tcl/course-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/tcl/course-procs.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/courses/tcl/course-procs.xql 2 Feb 2005 23:01:00 -0000 1.2 +++ openacs-4/packages/courses/tcl/course-procs.xql 3 Feb 2005 22:41:27 -0000 1.3 @@ -15,6 +15,14 @@ + + + select creation_user from acs_objects + where object_id = :object_id + + + + update cr_items @@ -72,7 +80,25 @@ + + + select ci.item_id as assessment_id from + cr_folders cf, cr_items ci, cr_revisions cr, as_assessments a + where cr.revision_id = ci.latest_revision and a.assessment_id = cr.revision_id and + ci.parent_id = cf.folder_id and cf.package_id = :asm_package_id + + + + + select ci.item_id as assessment_id from + cr_folders cf, cr_items ci, cr_revisions cr, as_assessments a + where cr.revision_id = ci.latest_revision and a.assessment_id = cr.revision_id and + ci.parent_id = cf.folder_id and cf.package_id = :asm_package_id + + + + Index: openacs-4/packages/courses/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/index.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/courses/www/index.tcl 2 Feb 2005 23:01:00 -0000 1.2 +++ openacs-4/packages/courses/www/index.tcl 3 Feb 2005 22:41:27 -0000 1.3 @@ -1,7 +1,8 @@ ad_page_contract { Index for course administration - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) - @creation date 31-01-2005 + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net + @creation-date 31-01-2005 } { Index: openacs-4/packages/courses/www/admin/grant-list.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/admin/grant-list.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/admin/grant-list.adp 2 Feb 2005 17:25:34 -0000 1.1 +++ openacs-4/packages/courses/www/admin/grant-list.adp 3 Feb 2005 22:41:27 -0000 1.2 @@ -1,4 +1,5 @@ @page_title@ @context;noquote@ + \ No newline at end of file Index: openacs-4/packages/courses/www/admin/grant-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/admin/grant-list.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/admin/grant-list.tcl 2 Feb 2005 17:25:34 -0000 1.1 +++ openacs-4/packages/courses/www/admin/grant-list.tcl 3 Feb 2005 22:41:27 -0000 1.2 @@ -1,10 +1,14 @@ ad_page_contract { - Displays a list of all proffesors from dotlrn + Displays a list of all users to grant permissions - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) - @creation date 28-01-2005 + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net + @creation-date 28-01-2005 } { { return_url "" } + { user_name "" } + { user_email "" } + } set user_id [auth::get_user_id] @@ -17,7 +21,33 @@ } set context [list $page_title] -db_multirow -extend { privilege email } grant_list select_users {} { + +# To search for users +ad_form -name search_user -form { + {user_name:text(text),optional + {label "[_ courses.search_user]"} + {help_text "[_ courses.search_help]"} + } + {user_email:text(text),optional + {label "[_ courses.search_user_email]"} + } +} + + +# Establish what query to use in order to the values of the form elements +if {![string equal $user_name ""]} { + set query select_users_name + if {![string equal $user_email ""]} { + set query select_users_name_email + } +} else { + set query select_users + if {![string equal $user_email ""]} { + set query select_users_email + } +} + +db_multirow -extend { privilege email } grant_list $query {} { set privilege [permission::permission_p -party_id $p_user_id -object_id $cc_package_id -privilege "create"] set email [email_image::get_user_email -user_id $p_user_id] } @@ -30,6 +60,8 @@ "\#courses.revoke\#" "revoke-users?" "\#courses.revoke_per\#" }\ -bulk_action_method post \ -bulk_action_export_vars { + user_name + user_email }\ -row_pretty_plural "[_ courses.users_to_grant]" \ -elements { Index: openacs-4/packages/courses/www/admin/grant-list.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/admin/grant-list.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/admin/grant-list.xql 2 Feb 2005 17:25:34 -0000 1.1 +++ openacs-4/packages/courses/www/admin/grant-list.xql 3 Feb 2005 22:41:27 -0000 1.2 @@ -4,8 +4,35 @@ select first_names, last_name, user_id as p_user_id - from cc_users where user_id <> :user_id + from cc_users where email = '' + + + select first_names, last_name, user_id as p_user_id + from cc_users where user_id <> :user_id and lower(first_names) like '%$user_name%' + or lower(last_name) like '%$user_name%' order by first_names, last_name + + + + + + select first_names, last_name, user_id as p_user_id + from cc_users where user_id <> :user_id and lower(email) like '%$user_email%' + order by email + + + + + + select first_names, last_name, user_id as p_user_id + from cc_users where user_id <> :user_id and ( + lower(first_names) like '%$user_name%' or lower(last_name) like '%$user_name%') + and lower(email) like '%$user_email%' + order by email + + + + Index: openacs-4/packages/courses/www/admin/grant-users.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/admin/grant-users.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/admin/grant-users.tcl 2 Feb 2005 17:25:34 -0000 1.1 +++ openacs-4/packages/courses/www/admin/grant-users.tcl 3 Feb 2005 22:41:27 -0000 1.2 @@ -1,11 +1,14 @@ ad_page_contract { Gives users admin permissions on course_catalog - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) - @creation date 29-01-2005 + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net + @creation-date 29-01-2005 } { p_user_id:multiple -} + { user_name "" } + { user_email "" } +} # course_catalog package_id set cc_package_id [apm_package_id_from_key "courses"] @@ -17,4 +20,4 @@ -ad_returnredirect "/courses/admin/grant-list" +ad_returnredirect "/courses/admin/grant-list?user_name=$user_name&user_email=$user_email" Index: openacs-4/packages/courses/www/admin/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/admin/Attic/index.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/admin/index.tcl 2 Feb 2005 17:25:34 -0000 1.1 +++ openacs-4/packages/courses/www/admin/index.tcl 3 Feb 2005 22:41:27 -0000 1.2 @@ -1,7 +1,8 @@ ad_page_contract { Index for course administration - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) - @creation date 31-01-2005 + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net + @creation-date 31-01-2005 } { Index: openacs-4/packages/courses/www/admin/revoke-users.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/admin/revoke-users.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/admin/revoke-users.tcl 2 Feb 2005 17:25:34 -0000 1.1 +++ openacs-4/packages/courses/www/admin/revoke-users.tcl 3 Feb 2005 22:41:27 -0000 1.2 @@ -1,10 +1,13 @@ ad_page_contract { Revokes users admin permissions on course_catalog - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net @creation date 29-01-2005 } { p_user_id:multiple + { user_name "" } + { user_email "" } } # course_catalog package_id @@ -16,5 +19,4 @@ } - -ad_returnredirect "/courses/admin/grant-list" +ad_returnredirect "/courses/admin/grant-list?user_name=$user_name&user_email=$user_email" Index: openacs-4/packages/courses/www/cc-admin/add-edit-course.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/Attic/add-edit-course.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/courses/www/cc-admin/add-edit-course.tcl 2 Feb 2005 23:01:00 -0000 1.2 +++ openacs-4/packages/courses/www/cc-admin/add-edit-course.tcl 3 Feb 2005 22:41:28 -0000 1.3 @@ -1,8 +1,9 @@ ad_page_contract { Displays a form to add a course or add a new revision of a course (edit) - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) - @creation date 27-01-2005 + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net + @creation-date 27-01-2005 } { course_id:optional @@ -27,11 +28,10 @@ set mode edit } - # Get assessments set asm_package_id [apm_package_id_from_key assessment] set asm_list [list [list "[_ courses.not_associate]" "-1"]] -db_foreach assessment {} { +db_foreach assessment { } { if { [permission::permission_p -party_id $user_id -object_id $assessment_id -privilege "admin"] == 1 } { lappend asm_list [list $title $assessment_id] } @@ -96,7 +96,8 @@ ad_form -extend -name add_course -new_data { # New item and revision in the CR set folder_id [course_catalog::get_folder_id] - set item_id [content::item::new -name $course_key -parent_id $folder_id -content_type "course_catalog"] + set item_id [content::item::new -name $course_key -parent_id $folder_id \ + -content_type "course_catalog" -creation_user $user_id] set course_id [content::revision::new -item_id $item_id -title $course_key \ -description "$course_name: $course_info"] Index: openacs-4/packages/courses/www/cc-admin/associate-course.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/associate-course.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/cc-admin/associate-course.tcl 2 Feb 2005 17:26:55 -0000 1.1 +++ openacs-4/packages/courses/www/cc-admin/associate-course.tcl 3 Feb 2005 22:41:28 -0000 1.2 @@ -1,7 +1,8 @@ ad_page_contract { Associates course_catalog's course_id with dotlrn's class_instance_id - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net @creation date 31-01-2005 } { course_id:notnull Index: openacs-4/packages/courses/www/cc-admin/course-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/course-list.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/courses/www/cc-admin/course-list.tcl 2 Feb 2005 23:01:00 -0000 1.2 +++ openacs-4/packages/courses/www/cc-admin/course-list.tcl 3 Feb 2005 22:41:28 -0000 1.3 @@ -1,8 +1,8 @@ ad_page_contract { Displays a list of all courses - - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) - @creation date 28-01-2005 + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net + @creation-date 28-01-2005 } { } Index: openacs-4/packages/courses/www/cc-admin/delete-revision.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/Attic/delete-revision.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/cc-admin/delete-revision.tcl 2 Feb 2005 17:26:55 -0000 1.1 +++ openacs-4/packages/courses/www/cc-admin/delete-revision.tcl 3 Feb 2005 22:41:28 -0000 1.2 @@ -1,7 +1,8 @@ ad_page_contract { Deletes one revision - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net @creation date 02-02-2005 } { course_key:notnull Index: openacs-4/packages/courses/www/cc-admin/dotlrn-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/dotlrn-list.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/cc-admin/dotlrn-list.tcl 2 Feb 2005 17:26:55 -0000 1.1 +++ openacs-4/packages/courses/www/cc-admin/dotlrn-list.tcl 3 Feb 2005 22:41:28 -0000 1.2 @@ -1,7 +1,8 @@ ad_page_contract { Displays a list of all dotlrn classes to associate to a course_catalog(course_id) - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net @creation date 31-01-2005 } { course_id:notnull Index: openacs-4/packages/courses/www/cc-admin/go-live.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/go-live.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/cc-admin/go-live.tcl 2 Feb 2005 17:26:55 -0000 1.1 +++ openacs-4/packages/courses/www/cc-admin/go-live.tcl 3 Feb 2005 22:41:28 -0000 1.2 @@ -1,7 +1,8 @@ ad_page_contract { Makes one revision live - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net @creation date 29-01-2005 } { course_key:notnull Index: openacs-4/packages/courses/www/cc-admin/grant-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/Attic/grant-list.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/cc-admin/grant-list.tcl 2 Feb 2005 23:02:36 -0000 1.1 +++ openacs-4/packages/courses/www/cc-admin/grant-list.tcl 3 Feb 2005 22:41:28 -0000 1.2 @@ -1,7 +1,8 @@ ad_page_contract { Displays a list of all courses to grant permission - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net @creation date 28-01-2005 } { @@ -16,14 +17,17 @@ if { [acs_user::site_wide_admin_p] } { set query get_course_info_site_wide + set site_wide 1 } else { set query get_course_info + set site_wide 0 } -db_multirow -extend { asm_name item_id } course_list $query {} { +db_multirow -extend { asm_name item_id creation_user } course_list $query {} { set asm_name [db_string get_asm_name { } -default "[_ courses.not_associated]"] set item_id [course_catalog::get_item_id -name $course_key] + set creation_user [course_catalog::get_creation_user -object_id $item_id] } template::list::create \ @@ -54,9 +58,21 @@ } } permission { - label "[_ courses.grant]" + label "[_ courses.grant_per]" display_template { - Grant +
+ + Grant + + + + Grant + + + #courses.not_allowed# + + +
} } } \ No newline at end of file Index: openacs-4/packages/courses/www/cc-admin/grant-user-list.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/grant-user-list.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/cc-admin/grant-user-list.adp 2 Feb 2005 23:02:36 -0000 1.1 +++ openacs-4/packages/courses/www/cc-admin/grant-user-list.adp 3 Feb 2005 22:41:28 -0000 1.2 @@ -2,4 +2,4 @@ @page_title@ @context;noquote@ - \ No newline at end of file + Index: openacs-4/packages/courses/www/cc-admin/grant-user-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/grant-user-list.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/courses/www/cc-admin/grant-user-list.tcl 2 Feb 2005 23:07:50 -0000 1.2 +++ openacs-4/packages/courses/www/cc-admin/grant-user-list.tcl 3 Feb 2005 22:41:28 -0000 1.3 @@ -1,56 +1,82 @@ ad_page_contract { - Displays a list of all proffesors from dotlrn + Displays a list of all users that have create privile under course_catalog + to give them admin privileges over course_id and assessment_id - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) - @creation date 28-01-2005 + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net + @creation date 03-01-2005 } { { return_url "" } { user_name "" } { user_email "" } + course_key:notnull + object_id:notnull + creation_user:notnull } set user_id [auth::get_user_id] # course_catalog package_id set cc_package_id [apm_package_id_from_key "courses"] -set page_title "[_ courses.search_u]" +set page_title "[_ courses.search_users_to] $course_key" set context [list [list "/courses/cc-admin/grant-list" "[_ courses.grant] [_ courses.course_list]"] "[_ courses.search_u]"] if {[string equal $return_url ""]} { set return_url "/courses/admin/grant-list" } -if {![string equal $user_name ""]} { - set query select_users_name - if {![string equal $user_email ""]} { - set query select_users_name_email - } -} else { - set query select_users - if {![string equal $user_email ""]} { - set query select_users_email - } -} - # To search for users ad_form -name search_user -form { + {object_id:text(hidden) + {value "$object_id"} + } + {creation_user:text(hidden) + {value "$creation_user"} + } + {course_key:text(hidden) + {value "$course_key"} + } {user_name:text(text),optional {label "[_ courses.search_user]"} {help_text "[_ courses.search_help]"} } {user_email:text(text),optional {label "[_ courses.search_user_email]"} + {help_text "[_ courses.search_email_help]"} } } +# Establish what query to use in order to the values of the form elements +if {![string equal $user_name ""]} { + set query select_users_name + if {![string equal $user_email ""]} { + set query select_users_name_email + } +} else { + set query select_users + if {![string equal $user_email ""]} { + set query select_users_email + } +} + db_multirow -extend { privilege email } grant_list $query {} { - set privilege [permission::permission_p -party_id $p_user_id -object_id $cc_package_id -privilege "create"] + set privilege [permission::permission_p -party_id $p_user_id -object_id $object_id -privilege "admin"] set email [email_image::get_user_email -user_id $p_user_id] } template::list::create \ - -name grant_list \ + -name grant_list \ -multirow grant_list \ -key p_user_id \ + -bulk_actions {"\#courses.grant\#" "grant-permission" "\#courses.grant_per\#"\ + "\#courses.revoke\#" "revoke-permission" "\#courses.revoke_per\#" }\ + -bulk_action_method post \ + -bulk_action_export_vars { + user_name + user_email + object_id + creation_user + course_key + }\ -row_pretty_plural "[_ courses.users_to_grant]" \ -elements { name { @@ -69,10 +95,10 @@ label "[_ courses.permission]" display_template { - [_ courses.granted] + [_ courses.granted] - [_ courses.not_allowed] + [_ courses.not_allowed] } } Index: openacs-4/packages/courses/www/cc-admin/grant-user-list.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/grant-user-list.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/cc-admin/grant-user-list.xql 2 Feb 2005 23:02:36 -0000 1.1 +++ openacs-4/packages/courses/www/cc-admin/grant-user-list.xql 3 Feb 2005 22:41:28 -0000 1.2 @@ -4,31 +4,42 @@ select first_names, last_name, user_id as p_user_id - from cc_users where user_id <> :user_id + from cc_users where email = '' select first_names, last_name, user_id as p_user_id - from cc_users where user_id <> :user_id and lower(first_names) like '%$user_name%' - or lower(last_name) like '%$user_name%' + from cc_users where user_id <> :user_id + and (lower(first_names) like '%$user_name%' + or lower(last_name) like '%$user_name%') and user_id in ( + select grantee_id from acs_permissions where privilege = 'create' and + object_id = :cc_package_id + ) order by first_names, last_name select first_names, last_name, user_id as p_user_id - from cc_users where user_id <> :user_id and lower(email) like '%$user_email%' + from cc_users where user_id <> :user_id + and lower(email) like '%$user_email%' and user_id in ( + select grantee_id from acs_permissions where privilege = 'create' and + object_id = :cc_package_id + ) order by email select first_names, last_name, user_id as p_user_id - from cc_users where user_id <> :user_id and ( + from cc_users where user_id <> :user_id lower(first_names) like '%$user_name%' or lower(last_name) like '%$user_name%') - and lower(email) like '%$user_email%' + and lower(email) like '%$user_email%' and user_id in ( + select grantee_id from acs_permissions where privilege = 'create' and + object_id = :cc_package_id + ) order by email Index: openacs-4/packages/courses/www/cc-admin/revision-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/revision-list.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/courses/www/cc-admin/revision-list.tcl 2 Feb 2005 23:01:00 -0000 1.2 +++ openacs-4/packages/courses/www/cc-admin/revision-list.tcl 3 Feb 2005 22:41:28 -0000 1.3 @@ -1,7 +1,8 @@ ad_page_contract { Displays a list of all revisions for one course - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net @creation date 28-01-2005 } { { return_url "" } Index: openacs-4/packages/courses/www/cc-admin/watch-association.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/courses/www/cc-admin/watch-association.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/courses/www/cc-admin/watch-association.tcl 2 Feb 2005 17:26:55 -0000 1.1 +++ openacs-4/packages/courses/www/cc-admin/watch-association.tcl 3 Feb 2005 22:41:28 -0000 1.2 @@ -2,7 +2,8 @@ Displays a information about course_catalog(course_id) and dotlrn_class_instance list of all revisions for one course - @author Miguel Marin (miguelmarin@viaro.net) Viaro Networks (www.viaro.net) + @author Miguel Marin (miguelmarin@viaro.net) + @author Viaro Networks www.viaro.net @creation date 28-01-2005 } { { return_url "" }