Index: openacs-4/packages/lorsm/lib/user-lorsm.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/lib/user-lorsm.tcl,v
diff -u -r1.9 -r1.10
--- openacs-4/packages/lorsm/lib/user-lorsm.tcl	26 May 2005 18:17:04 -0000	1.9
+++ openacs-4/packages/lorsm/lib/user-lorsm.tcl	31 May 2005 22:55:32 -0000	1.10
@@ -15,47 +15,76 @@
 } -errors {
 }
 
+set user_id [ad_conn user_id]
+set community_id [dotlrn_community::get_community_id]
+
+set lors_central_package_id [apm_package_id_from_key "lors-central"]
+set lors_central_url [apm_package_url_from_id $lors_central_package_id]
+
+
+set elements_list {
+    course_name {
+	label "[_ lorsm.Course_Name_1]"
+	display_template {
+	    @d_courses.course_url;noquote@ 
+	    <if @d_courses.admin_p@>
+	    <i>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <a href="${lors_central_url}one-course?item_id=@d_courses.item_id@">[_ lors-central.add_mat]</a>
+            </i>
+	    </if> 
+	}
+	html { width 70% }
+    }
+    subject {
+	label "[_ lorsm.Subject]"
+	display_eval {[dotlrn_community::get_community_name $community_id]}
+	html { align center width 20% }
+	link_url_eval {[dotlrn_community::get_community_url $community_id]}
+	link_html {title "[_ lorsm.Access_Course]"}
+    }
+    last_viewed {
+	label "[_ lorsm.Last_Viewed_On]"
+	html { align center width 10% }
+	display_eval {[lc_time_fmt $last_viewed "%x"]}
+    }
+    viewed_percent {
+	label "[_ lorsm._Viewed]"
+	html { align right }
+	display_eval {[lc_numeric $viewed_percent "%.2f"]}
+    }
+}
+
+
+if { ![string equal $lors_central_package_id 0] && ![empty_string_p $community_id] } {
+    if { [lors_central::check_inst -user_id $user_id -community_id $community_id] } {
+	append elements_list " 
+	grant_permissions {
+	    label \"[_ lors-central.grant_permissions]\"
+	    display_template {
+                <center>
+		<a href=\"${lors_central_url}lc-admin/grant-user-list?man_id=@d_courses.item_id@&creation_user=@d_courses.creation_user@\">[_ lors-central.manage]</a>
+		</center>
+	    }
+	}"
+    }
+}
+
+
 template::list::create \
     -name d_courses \
     -multirow d_courses \
     -html {width 100%} \
     -key man_id \
     -no_data "[_ lorsm.No_Courses]" \
-    -elements {
-        course_name {
-            label "[_ lorsm.Course_Name_1]"
-	    display_template {@d_courses.course_url;noquote@}
-	    html { width 70% }
-            link_url_col course_url
-            link_html {title "[_ lorsm.Access_Course]"}
-        }
-        subject {
-            label "[_ lorsm.Subject]"
-            display_eval {[dotlrn_community::get_community_name $community_id]}
-	    html { align center width 20% }
-            link_url_eval {[dotlrn_community::get_community_url $community_id]}
-            link_html {title "[_ lorsm.Access_Course]"}
-        }
-        last_viewed {
-            label "[_ lorsm.Last_Viewed_On]"
-            html { align center width 10% }
-            display_eval {[lc_time_fmt $last_viewed "%x"]}
-        }
-        viewed_percent {
-            label "[_ lorsm._Viewed]"
-            html { align right }
-            display_eval {[lc_numeric $viewed_percent "%.2f"]}
-        }
-    }
+    -elements $elements_list
 
-set user_id [ad_conn user_id]
-set community_id [dotlrn_community::get_community_id]
 set extra_query ""
 if {![empty_string_p $community_id]} {
     set extra_query "and cpmc.community_id = :community_id"
 }
 foreach package $package_id {
-    db_multirow -extend { ims_md_id last_viewed total_item_count viewed_item_count viewed_percent course_url } -append d_courses select_d_courses { } {
+    db_multirow -extend { admin_p item_id ims_md_id last_viewed total_item_count viewed_item_count viewed_percent course_url } -append d_courses select_d_courses { } {
         set ims_md_id $man_id
 	if { [string eq $format_name "default"] } {
 
@@ -99,8 +128,9 @@
         ns_log Debug "lorsm - viewed_item_count: $viewed_item_count"
 
         set viewed_percent [expr [expr $viewed_item_count * 1.00] / $total_item_count * 100]
-        ns_log Debug "lorsm - viewed_percent: $viewed_percent"
-	}
+	set item_id [db_string get_item_id { }]
+	set admin_p [permission::permission_p -party_id $user_id -object_id $item_id -privilege "admin"]
+    }
 }
 
 
Index: openacs-4/packages/lorsm/lib/user-lorsm.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/lib/user-lorsm.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/lorsm/lib/user-lorsm.xql	17 May 2005 17:23:27 -0000	1.1
+++ openacs-4/packages/lorsm/lib/user-lorsm.xql	31 May 2005 22:55:32 -0000	1.2
@@ -9,6 +9,9 @@
            cp.identifier,
            cp.version,
            cp.fs_package_id,
+	   case when cp.fs_package_id is null then 't'
+		else 'f'
+	   end as lorsm_p,
            cp.folder_id,
 	   acs.creation_user,
 	   acs.creation_date,
@@ -71,4 +74,15 @@
   </querytext>
 </fullquery>
 
+<fullquery name="get_item_id">
+  <querytext>
+	select 
+		item_id 
+	from 
+		cr_revisions 
+	where 
+		revision_id = :man_id
+  </querytext>
+</fullquery>
+
 </queryset>
\ No newline at end of file
Index: openacs-4/packages/lorsm-portlet/www/lorsm-admin-portlet.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm-portlet/www/lorsm-admin-portlet.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/lorsm-portlet/www/lorsm-admin-portlet.adp	29 Nov 2004 17:28:23 -0000	1.3
+++ openacs-4/packages/lorsm-portlet/www/lorsm-admin-portlet.adp	31 May 2005 22:56:08 -0000	1.4
@@ -1,3 +1,17 @@
+<if @use_lc_p@>
+  <ul>
+    <li>
+      <a href="@lors_central_url@">#lorsm-portlet.Manage_LORS#</a>
+    </li>
+    <li>
+      <a href="@lors_central_url@course-add">#lorsm-portlet.Add_a_Course#</a>
+    </li>
+    <li>
+      <a href="/search">#lorsm-portlet.lt_Search_Learning_Objec#</a>
+    </li>
+  </ul>
+</if>
+<else>
 <ul>
   <li>
     <a href="@url@">#lorsm-portlet.Manage_LORS#</a>
@@ -9,4 +23,4 @@
     <a href="/search">#lorsm-portlet.lt_Search_Learning_Objec#</a>
   </li>
 </ul>
-
+</else>
Index: openacs-4/packages/lorsm-portlet/www/lorsm-admin-portlet.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm-portlet/www/lorsm-admin-portlet.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/lorsm-portlet/www/lorsm-admin-portlet.tcl	17 May 2005 17:53:36 -0000	1.3
+++ openacs-4/packages/lorsm-portlet/www/lorsm-admin-portlet.tcl	31 May 2005 22:56:08 -0000	1.4
@@ -10,6 +10,17 @@
     
 }
 
+
+set lors_central_package_id [apm_package_id_from_key "lors-central"]
+set lors_central_url [apm_package_url_from_id $lors_central_package_id]
+
+if { ![string equal $lors_central_package_id 0] } {
+    set use_lc_p [parameter::get -parameter "UploadUsingLorsCentralP" -package_id $lors_central_package_id]
+} else {
+    set use_lc_p 0
+}
+
+
 array set config $cf
 set list_of_package_ids $config(package_id)
 
@@ -23,3 +34,4 @@
 set url [lindex [site_node::get_url_from_object_id -object_id $package_id] 0]
 
 ad_return_template 
+
Index: openacs-4/packages/lorsm-portlet/www/lorsm-portlet.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm-portlet/www/lorsm-portlet.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/lorsm-portlet/www/lorsm-portlet.adp	4 Sep 2004 14:09:02 -0000	1.2
+++ openacs-4/packages/lorsm-portlet/www/lorsm-portlet.adp	31 May 2005 22:56:08 -0000	1.3
@@ -10,7 +10,6 @@
 
 </else>
 
-
 </if>
 <else>
   &nbsp;