Index: openacs-4/packages/lors-central/lors-central.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/lors-central.info,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/lors-central.info 17 May 2005 16:07:47 -0000 1.1 +++ openacs-4/packages/lors-central/lors-central.info 31 May 2005 22:57:22 -0000 1.2 @@ -17,7 +17,7 @@ <provides url="lors-central" version="0.1a3"/> <requires url="clipboard" version="0.1d"/> - <requires url="lors" version="0.4d"/> + <requires url="lors" version="0.6d4"/> <requires url="lorsm" version="0.6d2"/> <requires url="views" version="0.1d"/> @@ -26,7 +26,8 @@ <callback type="after-upgrade" proc="lors_central::apm_callback::after_upgrade"/> </callbacks> <parameters> - <!-- No version parameters --> + <parameter datatype="number" min_n_values="1" max_n_values="1" name="ManageLorsCentralP" default="0" description="Restricts the users who can acces and modify courses in lors-central package. 1 - Only the swa, 0 - everybody. Defaults to 0"/> + <parameter datatype="number" min_n_values="1" max_n_values="1" name="UploadUsingLorsCentralP" default="0" description="Set to 1 if you want to upload courses using lors-central package instead of lorsm. You will need to have installed lors-central for this parameter to work."/> </parameters> </version> Index: openacs-4/packages/lors-central/catalog/lors-central.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/catalog/lors-central.en_US.ISO-8859-1.xml,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/catalog/lors-central.en_US.ISO-8859-1.xml 17 May 2005 16:21:16 -0000 1.1 +++ openacs-4/packages/lors-central/catalog/lors-central.en_US.ISO-8859-1.xml 31 May 2005 22:57:22 -0000 1.2 @@ -1,32 +1,38 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<message_catalog package_key="lors-central" package_version="0.1a2" locale="en_US" charset="ISO-8859-1"> +<message_catalog package_key="lors-central" package_version="0.1a3" locale="en_US" charset="ISO-8859-1"> <msg key="action_not">Action Not Allowed</msg> <msg key="add">Add Child</msg> <msg key="add_an_existent">Add an existent Learning Object</msg> <msg key="add_file">Add File</msg> <msg key="add_from_clip">Add From Clipboard:</msg> + <msg key="add_mat">Add Material</msg> <msg key="add_object">Add Object</msg> <msg key="add_this">Add This Item</msg> <msg key="Add_this_learn">Add this learning object to your clipboard</msg> <msg key="Add_to_clip">Add to Clipboard</msg> <msg key="add_to_course">Add to this course</msg> <msg key="add_to_resource">Add to this resource</msg> + <msg key="admin">Admin</msg> <msg key="All_views">All Views</msg> <msg key="All_views_of">All Views of this object</msg> <msg key="and_is_in">And is in use in the following courses</msg> <msg key="assoc">Associations:</msg> <msg key="associate">Associate</msg> <msg key="associate_drop">Associate/Drop</msg> - <msg key="associate_to">Associate to dotLRN Class</msg> + <msg key="associate_to">Associate to dotLRN Class or Community</msg> <msg key="associate_to_class">Associate to this class</msg> <msg key="associated">Already Associated</msg> <msg key="author">Author:</msg> + <msg key="back">Back</msg> <msg key="choose_the_file">Choose the file to upload</msg> + <msg key="class_memberships">Class Memberships</msg> <msg key="class_name">Class Name</msg> <msg key="Classes_using">Classes Using this Course</msg> <msg key="click_for_prev">Click For Preview</msg> <msg key="clip_this_res">Clip This Resource</msg> + <msg key="com_memberships">Community Memberships</msg> + <msg key="community_name">Community Name</msg> <msg key="course_name">Course Name</msg> <msg key="course_versions">Course Versions</msg> <msg key="courses">Courses</msg> @@ -36,13 +42,19 @@ <msg key="description">Description</msg> <msg key="disabled">Disabled</msg> <msg key="dotlrn_classes">dotLRN classes</msg> + <msg key="dotlrn_communities">dotLRN Communities</msg> <msg key="drop">Drop</msg> <msg key="drop_association">Drop association to this class</msg> <msg key="Edit">Edit</msg> <msg key="edit_object">Edit %name%</msg> + <msg key="email">E-mail</msg> <msg key="enabled">Enabled</msg> <msg key="everywhere">Everywhere</msg> <msg key="filename">Filename</msg> + <msg key="grant">Grant</msg> + <msg key="grant_per">Grant Permission to this users</msg> + <msg key="grant_permissions">Grant Permissions</msg> + <msg key="grant_rev">Grant / Revoke</msg> <msg key="help_text">Use the "Browse..." button to locate your file, then click "Open"</msg> <msg key="here">Here</msg> <msg key="hide">Hide</msg> @@ -54,13 +66,18 @@ <msg key="live">Live</msg> <msg key="live_classes">Live Classes?</msg> <msg key="lo_files">Learning Object Files</msg> + <msg key="lors_admin">Lors Central Admin</msg> + <msg key="lors_central_package">Lors Central Package</msg> <msg key="make">Make</msg> <msg key="make_live">Make Live Everywhere</msg> <msg key="make_this_live">Make this live</msg> <msg key="man_id">Manifest ID</msg> + <msg key="manage">Manage</msg> + <msg key="memberships">Memberships</msg> <msg key="new_file">Add New File</msg> <msg key="new_object">New Learning Object</msg> <msg key="no">No</msg> + <msg key="not_allowed">Not Allowed</msg> <msg key="of">of</msg> <msg key="of_title">of %name%</msg> <msg key="one_course">One Course</msg> @@ -70,8 +87,14 @@ <msg key="One_learning">One Learning Object</msg> <msg key="please_type">Please type a keyword</msg> <msg key="preview">Preview</msg> + <msg key="priv_all_memb">priviliges to all members</msg> + <msg key="privilege_on">Privilege on</msg> + <msg key="revoke">Revoke</msg> + <msg key="revoke_per">Revoke Permission to this users</msg> <msg key="search">Search</msg> <msg key="search_courses">Search Courses</msg> + <msg key="search_users">Search for users first names, last name or email:</msg> + <msg key="search_users_to">Search users to grant/revoke privileges</msg> <msg key="set_to">Set to</msg> <msg key="shared">Shared?</msg> <msg key="shared_items">Shared Items In The Repository</msg> @@ -92,6 +115,8 @@ <msg key="update_versions">Update Versions</msg> <msg key="upload_a_new">Upload a New File or....</msg> <msg key="Usage">Usage</msg> + <msg key="user_to_grant">users to grant privileges that match that search</msg> + <msg key="username">User Name</msg> <msg key="version">Version</msg> <msg key="version_number">Ver. #</msg> <msg key="versions">Versions</msg> Index: openacs-4/packages/lors-central/catalog/lors-central.es_ES.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/catalog/lors-central.es_ES.ISO-8859-1.xml,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/catalog/lors-central.es_ES.ISO-8859-1.xml 17 May 2005 16:21:16 -0000 1.1 +++ openacs-4/packages/lors-central/catalog/lors-central.es_ES.ISO-8859-1.xml 31 May 2005 22:57:22 -0000 1.2 @@ -12,6 +12,7 @@ <msg key="Add_to_clip">Agregar al sujetapapeles</msg> <msg key="add_to_course">Agregar a este curso</msg> <msg key="add_to_resource">Agregar a este recurso</msg> + <msg key="admin">Administrar</msg> <msg key="All_views">Todas las vistas</msg> <msg key="All_views_of">Todas las vistas de este objeto</msg> <msg key="and_is_in">Y esta siendo utilizado en los siguientes cursos</msg> @@ -23,26 +24,35 @@ <msg key="associated">Already Asociado</msg> <msg key="author">Autor:</msg> <msg key="choose_the_file">Escoja el archivo que desea subir</msg> + <msg key="class_memberships">Membresias con Clases</msg> <msg key="class_name">Nombre de la Clase</msg> <msg key="Classes_using">Clases que utilizan este curso</msg> <msg key="click_for_prev">Click para previsualizar</msg> <msg key="clip_this_res">Sujetar este Recurso</msg> + <msg key="com_memberships">Membresias con Comunidades</msg> + <msg key="community_name">Nombre de la comunidad</msg> <msg key="course_name">Nombre del Curso</msg> <msg key="course_versions">Versiones del Curso</msg> <msg key="courses">Cursos</msg> - <msg key="create_your_new">Crear el nuevo archivo</msg> + <msg key="create_your_new">Crear el nuevo archivo o ...</msg> <msg key="current">Actual</msg> <msg key="dep_name">Nombre del Departamento</msg> <msg key="description">Descripcion</msg> <msg key="disabled">Deshabilitado</msg> <msg key="dotlrn_classes">classes de dotLRN</msg> + <msg key="dotlrn_communities">comunidades de dotLRN/msg> <msg key="drop">Quitar</msg> <msg key="drop_association">Quitar la asociacion de esta clase</msg> <msg key="Edit">Editar</msg> <msg key="edit_object">Editar %name%</msg> + <msg key="email">Correo Electronico</msg> <msg key="enabled">Habilitado</msg> <msg key="everywhere">En todos lados</msg> <msg key="filename">Nombre del archivo</msg> + <msg key="grant">Otorgar</msg> + <msg key="grant_per">Otorgar permisos a este usuario</msg> + <msg key="grant_permissions">Otorgar permisos</msg> + <msg key="grant_rev">Otorgar / Quitar</msg> <msg key="help_text">Utilizar el boton de "Browse..." para localizar el archivo, luego presionar"Open"</msg> <msg key="here">Aqui</msg> <msg key="hide">Ocultar</msg> @@ -54,13 +64,16 @@ <msg key="live">Actual</msg> <msg key="live_classes">Clases donde es el actual?</msg> <msg key="lo_files">Archivos del Objeto de Aprendizaje</msg> + <msg key="lors_admin">Administracion de Lors Central</msg> <msg key="make">Hacer</msg> <msg key="make_live">Cambiar a actual en todas las clases</msg> <msg key="make_this_live">Poner actual en esta clase</msg> <msg key="man_id">ID del Manifesto</msg> + <msg key="memberships">Membresias</msg> <msg key="new_file">Agregar Nuevo Archivo</msg> <msg key="new_object">Nuevo Objeto de Aprendisaje</msg> <msg key="no">No</msg> + <msg key="not_allowed">no otorgado</msg> <msg key="of">de</msg> <msg key="of_title">de %name%</msg> <msg key="one_course">Un Curso</msg> @@ -70,8 +83,14 @@ <msg key="One_learning">Un Objeto de Aprendizaje</msg> <msg key="please_type">Por favor ingrese una palabra</msg> <msg key="preview">Previsualizacion</msg> + <msg key="priv_all_memb">privilegios a todos los miembros</msg> + <msg key="privilege_on">Privilegios sobre</msg> + <msg key="revoke">Quitar</msg> + <msg key="revoke_per">Quitar privilegios a estos usuarios</msg> <msg key="search">Buscar</msg> <msg key="search_courses">Buscar Cursos</msg> + <msg key="search_users">Buscar por el nombre, apellido o correo electronico del usuario:</msg> + <msg key="search_users_to">Buscar usarios a Otorgar/Quitar privilegios</msg> <msg key="set_to">Establecer a</msg <msg key="shared">Compartido?</msg> <msg key="shared_items">Objetos Compartidos en el repositorio</msg>> @@ -92,6 +111,8 @@ <msg key="update_versions">Actualizar Versiones</msg> <msg key="upload_a_new">Subir un Nuevo Archivo o....</msg> <msg key="Usage">Utilizacion</msg> + <msg key="user_to_grant">hay usarios a otorgar privilefios que coincidan con esa busqueda</msg> + <msg key="username">Nombre del Usuario</msg> <msg key="version">Version</msg> <msg key="version_number">Ver. #</msg> <msg key="versions">Versiones</msg> Index: openacs-4/packages/lors-central/catalog/lors-central.es_GT.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/catalog/lors-central.es_GT.ISO-8859-1.xml,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/catalog/lors-central.es_GT.ISO-8859-1.xml 17 May 2005 16:21:16 -0000 1.1 +++ openacs-4/packages/lors-central/catalog/lors-central.es_GT.ISO-8859-1.xml 31 May 2005 22:57:22 -0000 1.2 @@ -12,6 +12,7 @@ <msg key="Add_to_clip">Agregar al sujetapapeles</msg> <msg key="add_to_course">Agregar a este curso</msg> <msg key="add_to_resource">Agregar a este recurso</msg> + <msg key="admin">Administrar</msg> <msg key="All_views">Todas las vistas</msg> <msg key="All_views_of">Todas las vistas de este objeto</msg> <msg key="and_is_in">Y esta siendo utilizado en los siguientes cursos</msg> @@ -23,26 +24,35 @@ <msg key="associated">Already Asociado</msg> <msg key="author">Autor:</msg> <msg key="choose_the_file">Escoja el archivo que desea subir</msg> + <msg key="class_memberships">Membresias con Clases</msg> <msg key="class_name">Nombre de la Clase</msg> <msg key="Classes_using">Clases que utilizan este curso</msg> <msg key="click_for_prev">Click para previsualizar</msg> <msg key="clip_this_res">Sujetar este Recurso</msg> + <msg key="com_memberships">Membresias con Comunidades</msg> + <msg key="community_name">Nombre de la comunidad</msg> <msg key="course_name">Nombre del Curso</msg> <msg key="course_versions">Versiones del Curso</msg> <msg key="courses">Cursos</msg> - <msg key="create_your_new">Crear el nuevo archivo</msg> + <msg key="create_your_new">Crear el nuevo archivo o ...</msg> <msg key="current">Actual</msg> <msg key="dep_name">Nombre del Departamento</msg> <msg key="description">Descripcion</msg> <msg key="disabled">Deshabilitado</msg> <msg key="dotlrn_classes">classes de dotLRN</msg> + <msg key="dotlrn_communities">comunidades de dotLRN/msg> <msg key="drop">Quitar</msg> <msg key="drop_association">Quitar la asociacion de esta clase</msg> <msg key="Edit">Editar</msg> <msg key="edit_object">Editar %name%</msg> + <msg key="email">Correo Electronico</msg> <msg key="enabled">Habilitado</msg> <msg key="everywhere">En todos lados</msg> <msg key="filename">Nombre del archivo</msg> + <msg key="grant">Otorgar</msg> + <msg key="grant_per">Otorgar permisos a este usuario</msg> + <msg key="grant_permissions">Otorgar permisos</msg> + <msg key="grant_rev">Otorgar / Quitar</msg> <msg key="help_text">Utilizar el boton de "Browse..." para localizar el archivo, luego presionar"Open"</msg> <msg key="here">Aqui</msg> <msg key="hide">Ocultar</msg> @@ -54,13 +64,16 @@ <msg key="live">Actual</msg> <msg key="live_classes">Clases donde es el actual?</msg> <msg key="lo_files">Archivos del Objeto de Aprendizaje</msg> + <msg key="lors_admin">Administracion de Lors Central</msg> <msg key="make">Hacer</msg> <msg key="make_live">Cambiar a actual en todas las clases</msg> <msg key="make_this_live">Poner actual en esta clase</msg> <msg key="man_id">ID del Manifesto</msg> + <msg key="memberships">Membresias</msg> <msg key="new_file">Agregar Nuevo Archivo</msg> <msg key="new_object">Nuevo Objeto de Aprendisaje</msg> <msg key="no">No</msg> + <msg key="not_allowed">no otorgado</msg> <msg key="of">de</msg> <msg key="of_title">de %name%</msg> <msg key="one_course">Un Curso</msg> @@ -70,8 +83,14 @@ <msg key="One_learning">Un Objeto de Aprendizaje</msg> <msg key="please_type">Por favor ingrese una palabra</msg> <msg key="preview">Previsualizacion</msg> + <msg key="priv_all_memb">privilegios a todos los miembros</msg> + <msg key="privilege_on">Privilegios sobre</msg> + <msg key="revoke">Quitar</msg> + <msg key="revoke_per">Quitar privilegios a estos usuarios</msg> <msg key="search">Buscar</msg> <msg key="search_courses">Buscar Cursos</msg> + <msg key="search_users">Buscar por el nombre, apellido o correo electronico del usuario:</msg> + <msg key="search_users_to">Buscar usarios a Otorgar/Quitar privilegios</msg> <msg key="set_to">Establecer a</msg <msg key="shared">Compartido?</msg> <msg key="shared_items">Objetos Compartidos en el repositorio</msg>> @@ -92,6 +111,8 @@ <msg key="update_versions">Actualizar Versiones</msg> <msg key="upload_a_new">Subir un Nuevo Archivo o....</msg> <msg key="Usage">Utilizacion</msg> + <msg key="user_to_grant">hay usarios a otorgar privilefios que coincidan con esa busqueda</msg> + <msg key="username">Nombre del Usuario</msg> <msg key="version">Version</msg> <msg key="version_number">Ver. #</msg> <msg key="versions">Versiones</msg> Index: openacs-4/packages/lors-central/tcl/lors-central-install-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/tcl/lors-central-install-procs.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/tcl/lors-central-install-procs.tcl 17 May 2005 16:21:18 -0000 1.1 +++ openacs-4/packages/lors-central/tcl/lors-central-install-procs.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -95,3 +95,19 @@ # Calling apm callback proc for notifications lors_central::apm_callback::package_install } + +ad_proc -private lors_central::install::package_uninstall {} { + + Uninstall lors-central + +} { + set folder_id [lors_central::get_root_folder_id] + content::folder::delete -folder_id $folder_id -cascade_p "t" + set folder_id [lors_central::get_root_organizations_folder_id] + content::folder::delete -folder_id $folder_id -cascade_p "t" + set folder_id [lors_central::get_root_resources_folder_id] + content::folder::delete -folder_id $folder_id -cascade_p "t" + set folder_id [lors_central::get_root_manifest_folder_id] + content::folder::delete -folder_id $folder_id -cascade_p "t" + set folder_id [lors_central::get_root_items_folder_id] +} Index: openacs-4/packages/lors-central/tcl/lors-central-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/tcl/lors-central-procs.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/tcl/lors-central-procs.tcl 17 May 2005 16:21:18 -0000 1.1 +++ openacs-4/packages/lors-central/tcl/lors-central-procs.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -8,6 +8,14 @@ namespace eval lors_central {} +ad_proc -private lors_central::owner { + -user_id:required + -object_id:required +} { + Returns 1 if user_id is the creator of the object_id, 0 otherwise +} { + return [db_string get_creation_user { } -default 0] +} ad_proc -private lors_central::get_ims_item_id_or_res_id { {-ims_item_id ""} @@ -23,14 +31,68 @@ } } -ad_proc -private lors_central::is_swa { +ad_proc -private lors_central::check_permissions { + {-object_id ""} + {-check_inst ""} } { - Check if the user (default to logged in user) has site_wide_admin privileges + Checks several privileges for user_id, default to logged user over the system. + + @object_id Send this if you want to check if user_id has permissions over this object_id. + @check_inst Set it to "t" if you want to check if the user_id that watch's this page is an dotlrn + instructor. } { - if { ![acs_user::site_wide_admin_p] } { - ad_returnredirect "not-allowed" + if { ![info exist user_id] } { + set user_id [ad_conn user_id] + } + set package_id [ad_conn package_id] + + # Get the number specified in the parameter, this parameter tell if + # only the swa can manage lors-central or any one else + set sec_level [parameter::get -parameter "ManageLorsCentralP"] + + if { $sec_level } { + if { ![acs_user::site_wide_admin_p] } { + ad_return_complaint 1 "<b>[_ lors-central.we_are_sorry]</b>" + ad_script_abort + } else { + return + } + } else { + if { ![empty_string_p $check_inst] } { + if { ![lors_central::check_inst -user_id $user_id] } { + ad_return_complaint 1 "<b>[_ lors-central.we_are_sorry]</b>" + ad_script_abort + } + } + if { ![empty_string_p $object_id] } { + permission::require_permission -party_id $user_id -object_id $object_id -privilege "admin" + } + } + return +} + +ad_proc -private lors_central::check_inst { + -user_id:required + {-community_id ""} +} { + Checks if user id has instructor or admin role in @community_id@ or any community_id, returns 1 if it does, + 0 otherwise +} { + if { [acs_user::site_wide_admin_p] } { + return 1 ad_script_abort } + if { ![empty_string_p $community_id] } { + set extra_query "and community_id = $community_id" + } else { + set extra_query "" + } + set count [db_string check_inst { } -default 0] + if { $count > 0 } { + return 1 + } else { + return 0 + } } ad_proc -private lors_central::set_sort_order { @@ -88,27 +150,33 @@ ad_proc -private lors_central::get_root_folder_id { } { - Returns the folder_id of the folder with the name "LORS Root Folder" + Returns the folder_id of the folder with the name "LORSM Root Folder" } { return [db_string get_folder_id_from_name { } ] } +ad_proc -private lors_central::get_root_organizations_folder_id { } { + Returns the folder_id of the folder with the name "LORSM Organizations Folder" +} { + return [db_string get_folder_id_from_name { } ] +} + ad_proc -private lors_central::get_root_resources_folder_id { } { - Returns the folder_id of the folder with the name "LORS Resources Folder" + Returns the folder_id of the folder with the name "LORSM Resources Folder" } { return [db_string get_folder_id_from_name { } ] } ad_proc -private lors_central::get_root_manifest_folder_id { } { - Returns the folder_id of the folder with the name "LORS Manifest Folder" + Returns the folder_id of the folder with the name "LORSM Manifest Folder" } { return [db_string get_folder_id_from_name { } ] } ad_proc -private lors_central::get_root_items_folder_id { } { - Returns the folder_id of the folder with the name "LORS Items Folder" + Returns the folder_id of the folder with the name "LORSM Items Folder" } { return [db_string get_folder_id_from_name { } ] } @@ -267,14 +335,19 @@ ad_proc -private lors_central::relation_between { - -item_id:required + {-item_id ""} -community_id:required + {-man_id ""} } { Returns the 1 if there is an association between a dotlrn class or community - and the item_id, 0 otherwise. + and the item_id, 0 otherwise, you should provide either man_id or item_id @man_id@ The manifest id of the course + @item_id@ The item_id that has all manifests as revisions @community_id@ The class_id or community_id of dotlrn } { + if { ![empty_string_p $man_id] } { + set item_id [lors_central::get_item_id -revision_id $man_id] + } return [db_string get_relation { } -default 0] } Index: openacs-4/packages/lors-central/tcl/lors-central-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/tcl/lors-central-procs.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/tcl/lors-central-procs.xql 17 May 2005 16:21:18 -0000 1.1 +++ openacs-4/packages/lors-central/tcl/lors-central-procs.xql 31 May 2005 22:57:22 -0000 1.2 @@ -1,7 +1,31 @@ <?xml version="1.0"?> <queryset> +<fullquery name="lors_central::owner.get_creation_user"> + <querytext> + select + 1 + from + acs_objects + where + creation_user = :user_id and + object_id = :object_id + </querytext> +</fullquery> +<fullquery name="lors_central::check_inst.check_inst"> + <querytext> + select + count(user_id) + from + dotlrn_member_rels_full + where + user_id = :user_id and + ( role = 'admin' or role = 'instructor' ) + $extra_query + </querytext> +</fullquery> + <fullquery name="lors_central::get_ims_item_id_or_res_id.get_res_id"> <querytext> select @@ -238,6 +262,18 @@ </querytext> </fullquery> +<fullquery name="lors_central::get_root_organizations_folder_id.get_folder_id_from_name"> + <querytext> + select + folder_id + from + cr_folders + where + label = 'LORSM Organizations Folder' + </querytext> +</fullquery> + + <fullquery name="lors_central::get_root_resources_folder_id.get_folder_id_from_name"> <querytext> select Index: openacs-4/packages/lors-central/www/add-exist-item.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/add-exist-item.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/add-exist-item.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/add-exist-item.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -11,8 +11,8 @@ item_man_id:notnull } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set the_ims_item_id $ims_item_id set user_id [ad_conn user_id] Index: openacs-4/packages/lors-central/www/add-lo.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/add-lo.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/add-lo.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/add-lo.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -13,8 +13,8 @@ set user_id [ad_conn user_id] -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set new_lo_link "man_id=$man_id&org_id=$org_id&parent=$parent_item" set page_title [_ lors-central.add_an_existent] Index: openacs-4/packages/lors-central/www/change-lo-version.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/change-lo-version.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/change-lo-version.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/change-lo-version.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -12,8 +12,8 @@ live_hide_p:notnull } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions if { ![info exist name] } { set name [db_string get_name { select item_title from ims_cp_items where ims_item_id = :ims_item_id }] Index: openacs-4/packages/lors-central/www/change-one-lo-version.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/change-one-lo-version.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/change-one-lo-version.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/change-one-lo-version.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -10,8 +10,8 @@ objects_value:multiple } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions # object_id: A list of communities ids # object_value: The version number to set the revision Index: openacs-4/packages/lors-central/www/change-one-version.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/change-one-version.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/change-one-version.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/change-one-version.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -14,8 +14,8 @@ } } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions # Validation of Range set i 0 Index: openacs-4/packages/lors-central/www/course-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-add-2.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-add-2.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-add-2.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -26,8 +26,8 @@ } } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions # To support versions if { ![info exist man_id] } { Index: openacs-4/packages/lors-central/www/course-add-3.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-add-3.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-add-3.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-add-3.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -27,13 +27,13 @@ } } -# Checking swa privilege over lors-central -lors_central::is_swa - #check permission set user_id [ad_conn user_id] -# ad_require_permission $folder_id admin +# Checking privilege over lors-central +lors_central::check_permissions + + # Display progress bar ad_progress_bar_begin \ -title "[_ lorsm.Uploading_course]" \ @@ -316,6 +316,7 @@ ns_write "[_ lorsm.lt_Granting_permissions__1 [list course_name $course_name]]<br>" # PERMISSIONS FOR MANIFEST and learning objects + permission::grant -party_id $user_id -object_id $man_id -privilege admin # set up in the same way as permissions for the file storage # objects. As we want to maintain consistency btw the Index: openacs-4/packages/lors-central/www/course-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-add.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-add.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-add.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -13,8 +13,8 @@ set user_id [ad_conn user_id] set community_id [dotlrn_community::get_community_id] -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions if { ![info exists man_id] } { set man_id "" Index: openacs-4/packages/lors-central/www/course-admin.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-admin.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-admin.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-admin.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -8,7 +8,7 @@ } # Checking swa privilege over lors-central -lors_central::is_swa +lors_central::check_permissions set title "[_ lorsm.lt_Manage_Courses_in_Rep]" Index: openacs-4/packages/lors-central/www/course-associate.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-associate.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-associate.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-associate.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -10,9 +10,16 @@ { return_url "" } } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions +# Display progress bar +ad_progress_bar_begin \ + -title "[_ lors-central.associate_to]" \ + -message_1 "[_ lors-central.associate_to]" \ + -message_2 "[_ lorsm.lt_We_will_continue_auto]" + + set man_id [content::item::get_live_revision -item_id $item_id] foreach community_id $object_id { @@ -34,8 +41,8 @@ if { [empty_string_p $return_url] } { - ad_returnredirect "course-dotlrn-assoc?item_id=$item_id" + ad_progress_bar_end -url "course-dotlrn-assoc?item_id=$item_id" } else { - ad_returnredirect $return_url + ad_progress_bar_end -url $return_url } Index: openacs-4/packages/lors-central/www/course-association-drop.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-association-drop.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-association-drop.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-association-drop.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -9,10 +9,17 @@ { return_url "" } } -# Checking swa privilege over lors-central -lors_central::is_swa +# Display progress bar +ad_progress_bar_begin \ + -title "[_ lors-central.associate_to]" \ + -message_1 "[_ lors-central.associate_to]" \ + -message_2 "[_ lorsm.lt_We_will_continue_auto]" +# Checking privilege over lors-central +lors_central::check_permissions + + set man_list [db_list_of_lists get_man_ids { }] foreach community_id $object_id { lors_central::drop_relation -item_id $item_id -community_id $community_id @@ -25,8 +32,8 @@ } if { [empty_string_p $return_url] } { - ad_returnredirect "course-dotlrn-assoc?item_id=$item_id" + ad_progress_bar_end -url "course-dotlrn-assoc?item_id=$item_id" } else { - ad_returnredirect $return_url + ad_progress_bar_end -url $return_url } Index: openacs-4/packages/lors-central/www/course-dotlrn-assoc.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-dotlrn-assoc.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-dotlrn-assoc.adp 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-dotlrn-assoc.adp 31 May 2005 22:57:22 -0000 1.2 @@ -2,6 +2,23 @@ <property name="title">@title;noquote@</property> <property name="context">@context;noquote@</property> -<listtemplate name="dotlrn_classes"></listtemplate> -<br><br> -<listtemplate name="drop_dotlrn_classes"></listtemplate> +<h3>#lors-central.dotlrn_classes#</h3> +<if @classes_list:rowcount@ gt 0> + <listtemplate name="dotlrn_classes"></listtemplate> + <br> +</if> +<if @drop_classes_list:rowcount@ gt 0> + <br> + <listtemplate name="drop_dotlrn_classes"></listtemplate> +</if> +<br> +<h3>#lors-central.dotlrn_communities#</h3> +<if @coms_list:rowcount@ gt 0> + <br> + <listtemplate name="coms_list"></listtemplate> +</if> + +<if @coms_list_drop:rowcount@ gt 0> + <br> + <listtemplate name="coms_list_drop"></listtemplate> +</if> \ No newline at end of file Index: openacs-4/packages/lors-central/www/course-dotlrn-assoc.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-dotlrn-assoc.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-dotlrn-assoc.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-dotlrn-assoc.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -8,8 +8,8 @@ item_id:integer,optional } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set title [_ lors-central.associate_to] @@ -155,3 +155,98 @@ } } + +##################################### COMMUNITIES ########################################################### +##################################### TO ASSOCIATE ########################################################## + +db_multirow -extend { rel type } coms_list get_dotlrn_coms { } { + set rel [lors_central::relation_between -item_id $item_id -community_id $com_id] + set type dotlrn_club +} + +template::list::create \ + -name coms_list \ + -multirow coms_list \ + -key community_id \ + -has_checkboxes\ + -bulk_actions { + "\#lors-central.associate\#" "course-associate" "\#lors-central.associate_to_class\#" \ + } \ + -bulk_action_method post \ + -bulk_action_export_vars { + item_id + type + }\ + -row_pretty_plural "[_ lors-central.dotlrn_communities]" \ + -elements { + check_box { + class "list-narrow" + label "<input type=\"checkbox\" name=\"_dummy\" onclick=\"acs_ListCheckAll('coms_list', this.checked)\" \ + title=\"\#lors-central.label_title\#\">" + display_template { + <input type="checkbox" name="object_id" value="@coms_list.com_id@" \ + id="coms_list,@coms_list.com_id@" \ + title="\#lors-central.title\#"> + } + } + class { + label "[_ lors-central.community_name]" + display_template { + <a href="@coms_list.url@">@coms_list.pretty_name@</a> + } + } + associate { + display_template { + <if @coms_list.rel@ not eq 0> + #lors-central.associated# + </if> + } + } + } + + +############################## TO DROP ASSOCIATION ###################################### + +db_multirow -extend { rel type } coms_list_drop get_dotlrn_coms_drop { } { + set rel [lors_central::relation_between -item_id $item_id -community_id $com_id] +} + +template::list::create \ + -name coms_list_drop \ + -multirow coms_list_drop \ + -key community_id \ + -has_checkboxes\ + -bulk_actions { + "\#lors-central.drop\#" "course-association-drop" "\#lors-central.drop_association\#" \ + } \ + -bulk_action_method post \ + -bulk_action_export_vars { + item_id + type + }\ + -row_pretty_plural "[_ lors-central.dotlrn_classes]" \ + -elements { + check_box { + class "list-narrow" + label "<input type=\"checkbox\" name=\"_dummy\" onclick=\"acs_ListCheckAll('coms_list_drop', this.checked)\" \ + title=\"\#lors-central.label_title\#\">" + display_template { + <input type="checkbox" name="object_id" value="@coms_list_drop.com_id@" \ + id="coms_list_drop,@coms_list_drop.com_id@" \ + title="\#lors-central.title\#"> + } + } + class { + label "[_ lors-central.community_name]" + display_template { + <a href="@coms_list_drop.url@">@coms_list_drop.pretty_name@</a> + } + } + associate { + display_template { + <if @coms_list_drop.rel@ not eq 0> + #lors-central.associated# + </if> + } + } + } Index: openacs-4/packages/lors-central/www/course-dotlrn-assoc.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-dotlrn-assoc.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-dotlrn-assoc.xql 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-dotlrn-assoc.xql 31 May 2005 22:57:22 -0000 1.2 @@ -11,7 +11,7 @@ dc.pretty_name, dc.url from - dotlrn_class_instances_full dc + dotlrn_class_instances_full dc, dotlrn_instructor_rels_full drf where dc.class_instance_id not in ( @@ -27,7 +27,10 @@ from cr_revisions where item_id = :item_id ) - ) + ) and + drf.community_id = dc.class_instance_id and + drf.user_id = :user_id and + drf.role = 'instructor' order by department_name, term_name, class_name, pretty_name </querytext> </fullquery> @@ -42,7 +45,7 @@ dc.pretty_name, dc.url from - dotlrn_class_instances_full dc + dotlrn_class_instances_full dc, dotlrn_instructor_rels_full drf where dc.class_instance_id in ( @@ -57,12 +60,76 @@ from cr_revisions where item_id = :item_id ) - ) + ) and + drf.community_id = dc.class_instance_id and + drf.user_id = :user_id and + drf.role = 'instructor' order by department_name, term_name, class_name, pretty_name </querytext> </fullquery> + <fullquery name="get_dotlrn_coms"> + <querytext> + select + dc.community_id as com_id, + dc.pretty_name, + dc.url + from + dotlrn_communities_full dc, dotlrn_member_rels_full dm + where + dc.community_id not in + ( + select + icmc.community_id + from + ims_cp_manifest_class icmc + where + icmc.community_id is not null and + man_id in + ( + select revision_id + from cr_revisions + where item_id = :item_id + ) + ) and + dm.community_id = dc.community_id and + dm.user_id = :user_id and + dm.role = 'admin' + order by pretty_name + </querytext> + </fullquery> + + <fullquery name="get_dotlrn_coms_drop"> + <querytext> + select + dc.community_id as com_id, + dc.pretty_name, + dc.url + from + dotlrn_communities_full dc, dotlrn_member_rels_full dm + where + dc.community_id in + ( + select + icmc.community_id + from + ims_cp_manifest_class icmc + where + man_id in + ( + select revision_id + from cr_revisions + where item_id = :item_id + ) + ) and + dm.community_id = dc.community_id and + dm.user_id = :user_id and + dm.role = 'admin' + order by pretty_name + </querytext> + </fullquery> + </queryset> \ No newline at end of file Index: openacs-4/packages/lors-central/www/course-live-in.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-live-in.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-live-in.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-live-in.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -6,8 +6,8 @@ man_id:integer,optional } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set title "[_ lors-central.Classes_using]" set context [list [list "one-course-associations?man_id=$man_id" [_ lors-central.one_course_assoc]] \ Index: openacs-4/packages/lors-central/www/course-version-change.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-version-change.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-version-change.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-version-change.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -7,8 +7,8 @@ set user_id [ad_conn user_id] -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set item_id [lors_central::get_item_id -revision_id $man_id] Index: openacs-4/packages/lors-central/www/course-versions.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/course-versions.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/course-versions.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/course-versions.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -9,8 +9,8 @@ set user_id [ad_conn user_id] -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions if { ![info exist item_id ] } { Index: openacs-4/packages/lors-central/www/edit-content.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/edit-content.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/edit-content.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/edit-content.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -23,8 +23,8 @@ set user_id [ad_conn user_id] -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set folder [db_string select_folder_key {select key from fs_folders where folder_id = :folder_id}] set fs_root_folder [db_string sql {select file_storage__get_root_folder(:fs_package_id)}] Index: openacs-4/packages/lors-central/www/file-content-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/file-content-edit.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/file-content-edit.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/file-content-edit.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -32,8 +32,8 @@ nsv_lappend delivery_vars [ad_conn session_id] $ims_item_id -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions # check they have read permission on this file Index: openacs-4/packages/lors-central/www/folder-description.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/folder-description.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/folder-description.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/folder-description.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -6,8 +6,8 @@ folder_id:integer,optional } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions if { ![info exists folder_id] } { # Get lorsm root folder_id Index: openacs-4/packages/lors-central/www/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/index.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/index.adp 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/index.adp 31 May 2005 22:57:22 -0000 1.2 @@ -2,6 +2,7 @@ <property name="title">@title@</property> <property name="context">@context@</property> +<div align="right"><a href="lc-admin/" title="admin"><img border=0 src="images/admin.gif" alt="admin"></a></div> <h2>#lorsm.lt_Courses_in_your_Repos#</h2> <table width="100%"> Index: openacs-4/packages/lors-central/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/index.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/index.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/index.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -8,9 +8,12 @@ keyword:optional } -# Checking swa privilege over lors-central -lors_central::is_swa +set user_id [ad_conn user_id] + +# Checking privilege over lors-central +lors_central::check_permissions + set title "[_ lorsm.lt_Manage_Courses_in_Rep]" set context [list "[_ lorsm.Manage_Courses]"] @@ -32,6 +35,11 @@ set extra_query "" } +# If user is not site wide we just show the courses where he/she has admin privilege over +if { ![acs_user::site_wide_admin_p] } { + append extra_query " and p.object_id = acs.object_id and p.privilege = 'admin' and p.grantee_id = :user_id" +} + set package_id [ad_conn package_id] set user_id [ad_conn user_id] set community_id [dotlrn_community::get_community_id] @@ -49,10 +57,11 @@ set actions [list] -lappend actions "[_ lorsm.Add_Course]" [export_vars -base "course-add"] "[_ lorsm.lt_Add_a_IMSSCORM_Compli]" -lappend actions "[_ lorsm.lt_Search_Learning_Objec]" [export_vars -base "search"] "[_ lorsm.lt_Search_for_Learninng_]" +if { [lors_central::check_inst -user_id $user_id] } { + lappend actions "[_ lorsm.Add_Course]" [export_vars -base "course-add"] "[_ lorsm.lt_Add_a_IMSSCORM_Compli]" + lappend actions "[_ lorsm.lt_Search_Learning_Objec]" [export_vars -base "search"] "[_ lorsm.lt_Search_for_Learninng_]" +} - template::list::create \ -name get_courses \ -multirow get_courses \ Index: openacs-4/packages/lors-central/www/index.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/index.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/index.xql 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/index.xql 31 May 2005 22:57:22 -0000 1.2 @@ -19,7 +19,7 @@ acs.creation_user, acs.creation_date from - cr_revisions cr, acs_objects acs, cr_items ci + cr_revisions cr, acs_objects acs, cr_items ci, acs_permissions p where acs.object_id = cr.item_id and ci.item_id = cr.item_id and Index: openacs-4/packages/lors-central/www/new-clipboard-files.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/new-clipboard-files.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/new-clipboard-files.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/new-clipboard-files.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -12,6 +12,8 @@ set user_id [ad_conn user_id] +lors_central::check_permissions + foreach object $object_id { #The same file can not be added to the same res_id twice so we are going to check that set ims_res_id [db_string get_res_id { } ] Index: openacs-4/packages/lors-central/www/new-file.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/new-file.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/new-file.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/new-file.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -13,8 +13,8 @@ set user_id [ad_conn user_id] -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set page_title "[_ lors-central.new_file]" set context "[list [list [export_vars -base one-resource {res_id}] \ Index: openacs-4/packages/lors-central/www/new-learning-object.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/new-learning-object.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/new-learning-object.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/new-learning-object.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -16,8 +16,8 @@ } set user_id [ad_conn user_id] -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set title "[_ lors-central.new_object]" Index: openacs-4/packages/lors-central/www/one-course-associations.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/one-course-associations.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/one-course-associations.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/one-course-associations.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -11,8 +11,9 @@ } +set user_id [ad_conn user_id] +lors_central::check_permissions - # Get the item_id that the manifest_id has associated if { ![info exist item_id] } { set item_id [lors_central::get_item_id -revision_id $man_id] Index: openacs-4/packages/lors-central/www/one-course-item.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/one-course-item.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/one-course-item.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/one-course-item.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -11,8 +11,8 @@ {orderby "class,asc"} } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set displayed_object_id $ims_item_id Index: openacs-4/packages/lors-central/www/one-course-views.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/one-course-views.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/one-course-views.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/one-course-views.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -6,8 +6,8 @@ community_id:integer,notnull } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions # Get the item_id that the manifest_id has associated if { ![info exist item_id] } { Index: openacs-4/packages/lors-central/www/one-course.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/one-course.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/one-course.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/one-course.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -5,9 +5,6 @@ man_id:integer,optional } -# Checking swa privilege over lors-central -lors_central::is_swa - if { ![info exist item_id] && ![info exist man_id] } { ad_return_complaint 1 "You must pass either item_id or man_id" } else { @@ -19,7 +16,11 @@ } } +set user_id [ad_conn user_id] +# Checking privilege over lors-central +lors_central::check_permissions -object_id $item_id + set package_id "" set title "[_ lors-central.one_course]" set assoc_num [db_string get_associations_num { } -default 0] Index: openacs-4/packages/lors-central/www/one-file-live.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/one-file-live.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/one-file-live.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/one-file-live.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -11,8 +11,8 @@ {name "" } } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set file_item_id [lors_central::get_item_id -revision_id $file_id] Index: openacs-4/packages/lors-central/www/one-file.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/one-file.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/lors-central/www/one-file.tcl 17 May 2005 22:58:36 -0000 1.2 +++ openacs-4/packages/lors-central/www/one-file.tcl 31 May 2005 22:57:22 -0000 1.3 @@ -13,8 +13,8 @@ ims_item_id:notnull } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions #if { [empty_string_p $name] } { # set name [db_string get_name { } -default "..."] Index: openacs-4/packages/lors-central/www/one-learning-object.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/one-learning-object.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/one-learning-object.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/one-learning-object.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -11,8 +11,8 @@ {orderby "class,asc"} } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set displayed_object_id $ims_item_id Index: openacs-4/packages/lors-central/www/one-lo-files.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/one-lo-files.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/one-lo-files.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/one-lo-files.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -9,8 +9,8 @@ {name ""} } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions if { [empty_string_p $name] } { set name [db_string get_name { } -default "..."] Index: openacs-4/packages/lors-central/www/one-object-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/one-object-edit.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/one-object-edit.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/one-object-edit.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -15,8 +15,8 @@ {edit_p ""} } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set parent_item [db_string get_parent_item "select parent_item from ims_cp_items where ims_item_id = :ims_item_id"] Index: openacs-4/packages/lors-central/www/reorder-items.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/reorder-items.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/reorder-items.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/reorder-items.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -7,8 +7,8 @@ sort_order:notnull } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set ims_item_id $item_id set item_sort [db_string get_item_sort { }] Index: openacs-4/packages/lors-central/www/shared.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/shared.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/shared.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/shared.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -10,8 +10,8 @@ org_id:notnull } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions if { $shared } { set isshared f Index: openacs-4/packages/lors-central/www/tracker.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lors-central/www/tracker.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/lors-central/www/tracker.tcl 17 May 2005 16:21:19 -0000 1.1 +++ openacs-4/packages/lors-central/www/tracker.tcl 31 May 2005 22:57:22 -0000 1.2 @@ -16,8 +16,8 @@ } -errors { } -# Checking swa privilege over lors-central -lors_central::is_swa +# Checking privilege over lors-central +lors_central::check_permissions set lorsm_instance_id [db_string get_lorsm_instance_id { select lorsm_instance_id from ims_cp_manifest_class where man_id = :man_id and community_id = :community_id