Index: openacs-4/packages/project-manager/lib/project-calendar.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/project-calendar.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/project-manager/lib/project-calendar.tcl	22 Jul 2005 22:04:29 -0000	1.2
+++ openacs-4/packages/project-manager/lib/project-calendar.tcl	30 Jul 2005 18:32:36 -0000	1.3
@@ -79,17 +79,20 @@
 # -------------------------------------
 
 set users_to_view [pm::calendar::users_to_view]
+set package_id [dotlrn_community::get_package_id_from_package_key -package_key project-manager -community_id [dotlrn_community::get_community_id]]
 
-set community_id [dotlrn_community::get_community_id]
+set users_clause ""
 
-set users_list "community_members"
+if { ![string eq  [ad_conn package_id] [dotlrn::get_package_id]]} {
+    set users_clause "and pa.project_id in (select  p.item_id
+          from pm_projectsx p 
+          where 
+          p.item_id = pa.project_id 
+          and p.object_package_id = :package_id)"
+} 
 
-if {[empty_string_p $community_id]} {
-    set users_list  "dotlrn_members"
-}
 
-
-db_multirow -extend {checked_p} users $users_list {} {
+db_multirow -extend {checked_p} users assignees {} {
     if {[lsearch $users_to_view $party_id] == -1} {
         set checked_p f
     } else {
Index: openacs-4/packages/project-manager/lib/project-calendar.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/project-calendar.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/lib/project-calendar.xql	22 Jul 2005 21:29:27 -0000	1.1
+++ openacs-4/packages/project-manager/lib/project-calendar.xql	30 Jul 2005 18:32:36 -0000	1.2
@@ -7,34 +7,19 @@
 <!-- @cvs-id $Id$ -->
 
 <queryset>
-    <fullquery name="community_members">
+    <fullquery name="assignees">
     <querytext>
-    select
+    select distinct
     p.first_names || ' ' || p.last_name as name,
     p.person_id as party_id
     FROM
     persons p,
-    acs_rels r,
-    membership_rels mr
+    pm_project_assignment pa
     WHERE
-    r.object_id_one = :community_id and
-    mr.rel_id = r.rel_id and
-    p.person_id = r.object_id_two and
-    member_state = 'approved'
-    ORDER BY
-    p.first_names, p.last_name
+    p.person_id = pa.party_id 
+    $users_clause
 
     </querytext>
   </fullquery>
 
-    <fullquery name="dotlrn_members">
-    <querytext>
-    select
-    du.first_names || ' ' || du.last_name as name,
-    du.user_id as party_id
-    FROM
-    dotlrn_users du
-    </querytext>
-  </fullquery>
-
 </queryset>
\ No newline at end of file
Index: openacs-4/packages/project-manager/lib/project-week-calendar.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/project-week-calendar.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/lib/project-week-calendar.tcl	30 Jul 2005 00:26:33 -0000	1.1
+++ openacs-4/packages/project-manager/lib/project-week-calendar.tcl	30 Jul 2005 18:32:36 -0000	1.2
@@ -3,11 +3,18 @@
 set selected_users [pm::calendar::users_to_view]
 
 set instance_clause ""
+set users_clause ""
 set package_id [dotlrn_community::get_package_id_from_package_key -package_key project-manager -community_id [dotlrn_community::get_community_id]]
 set base_url "[apm_package_url_from_id $package_id]"
 
 if { ![string eq  [ad_conn package_id] [dotlrn::get_package_id]]} {
     set instance_clause "and f.package_id=:package_id"
+    set users_clause "and pa.project_id in (select  p.item_id
+          from pm_projectsx p 
+          where 
+          p.item_id = pa.project_id 
+          and p.object_package_id = :package_id)"
+
 } 
 
 set return_url [ad_return_url]\#top
@@ -110,7 +117,7 @@
     
     set users_list "<table>"
     foreach user $selected_users {
-	if {[db_string users {select 1 from pm_project_assignment where party_id=:user and project_id=:project_id} -default 0]} {
+	if {[db_string users { } -default 0]} {
 	    db_1row name {select p.first_names || ' ' || p.last_name  as full_name from persons p where person_id=:user}
 	    if { $user == $user_id } {
 		append users_list "<tr><td><span class=selected><small>$full_name</small></span></td></tr>"
@@ -167,16 +174,7 @@
 
 set users_to_view [pm::calendar::users_to_view]
 
-set community_id [dotlrn_community::get_community_id]
-
-set users_list "community_members"
-
-if {[empty_string_p $community_id]} {
-    set users_list  "dotlrn_members"
-}
-
-
-db_multirow -extend {checked_p} users $users_list {} {
+db_multirow -extend {checked_p} users assignees {} {
     if {[lsearch $users_to_view $party_id] == -1} {
         set checked_p f
     } else {
Index: openacs-4/packages/project-manager/lib/project-week-calendar.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/project-week-calendar.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/lib/project-week-calendar.xql	30 Jul 2005 00:26:33 -0000	1.1
+++ openacs-4/packages/project-manager/lib/project-week-calendar.xql	30 Jul 2005 18:32:36 -0000	1.2
@@ -94,36 +94,29 @@
   </querytext>
 </partialquery>
 
-<fullquery name="community_members">
+    <fullquery name="assignees">
     <querytext>
-    select
+    select distinct
     p.first_names || ' ' || p.last_name as name,
     p.person_id as party_id
     FROM
     persons p,
-    acs_rels r,
-    membership_rels mr
+    pm_project_assignment pa
     WHERE
-    r.object_id_one = :community_id and
-    mr.rel_id = r.rel_id and
-    p.person_id = r.object_id_two and
-    member_state = 'approved'
-    ORDER BY
-    p.first_names, p.last_name
+    p.person_id = pa.party_id 
+    $users_clause
 
     </querytext>
   </fullquery>
 
-    <fullquery name="dotlrn_members">
+    <fullquery name="users">
     <querytext>
-    select
-    du.first_names || ' ' || du.last_name as name,
-    du.user_id as party_id
-    FROM
-    dotlrn_users du
+	select distinct 1 
+	from pm_project_assignment 
+        where party_id=:user and project_id=:project_id
+	
+
     </querytext>
   </fullquery>
 
-
-
 </queryset>
Index: openacs-4/packages/project-manager/lib/task-calendar.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/task-calendar.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/lib/task-calendar.adp	30 Jul 2005 00:26:33 -0000	1.3
+++ openacs-4/packages/project-manager/lib/task-calendar.adp	30 Jul 2005 18:32:36 -0000	1.4
@@ -1,10 +1,10 @@
 <a name=top></a> 
   <a href="#viewoptions" class="button">View options</a>
   <if @display_p@ eq d>
-  <a href="?display_p=l#top" class="button">By latest finish</a>
+  <a href="?display_p=l&date=@date@#top" class="button">By latest finish</a>
   </if>
   <else>
-  <a href="?display_p=d#top" class="button">By deadline</a>
+  <a href="?display_p=d&date=@date@#top" class="button">By deadline</a>
   </else>
    <br>
 <br>
Index: openacs-4/packages/project-manager/lib/task-calendar.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/task-calendar.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/project-manager/lib/task-calendar.tcl	30 Jul 2005 00:26:33 -0000	1.4
+++ openacs-4/packages/project-manager/lib/task-calendar.tcl	30 Jul 2005 18:32:36 -0000	1.5
@@ -45,6 +45,7 @@
 set return_url [ad_return_url]\#top
 
 set edit_hidden_vars [export_vars -form {return_url {new_tasks "0"}}]
+set users_clause ""
 
 if { ![exists_and_not_null package_id]} {
     set calendar [pm::calendar::one_month_display \
@@ -53,6 +54,16 @@
 		      -hide_closed_p $hide_closed_p \
 		      -display_p $display_p \
 		     ]
+    set package_id [dotlrn_community::get_package_id_from_package_key -package_key project-manager -community_id [dotlrn_community::get_community_id]]
+    if { ![string eq  [ad_conn package_id] [dotlrn::get_package_id]]} {
+	set users_clause "and pa.project_id in (select  p.item_id
+          from pm_projectsx p 
+          where 
+          p.item_id = pa.project_id 
+          and p.object_package_id = :package_id)"
+    }
+    
+    
 } else {
     set calendar [pm::calendar::one_month_display \
 		      -user_id $user_id \
@@ -91,16 +102,9 @@
 
 set users_to_view [pm::calendar::users_to_view]
 
-set community_id [dotlrn_community::get_community_id]
 
-set users_list "community_members"
 
-if {[empty_string_p $community_id]} {
-    set users_list  "dotlrn_members"
-}
-
-
-db_multirow -extend {checked_p} users $users_list {} {
+db_multirow -extend {checked_p} users assignees {} {
     if {[lsearch $users_to_view $party_id] == -1} {
         set checked_p f
     } else {
Index: openacs-4/packages/project-manager/lib/task-calendar.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/task-calendar.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/lib/task-calendar.xql	22 Jul 2005 22:04:29 -0000	1.1
+++ openacs-4/packages/project-manager/lib/task-calendar.xql	30 Jul 2005 18:32:36 -0000	1.2
@@ -7,34 +7,19 @@
 <!-- @cvs-id $Id$ -->
 
 <queryset>
-    <fullquery name="community_members">
+    <fullquery name="assignees">
     <querytext>
-    select
+    select distinct
     p.first_names || ' ' || p.last_name as name,
     p.person_id as party_id
     FROM
     persons p,
-    acs_rels r,
-    membership_rels mr
+    pm_project_assignment pa
     WHERE
-    r.object_id_one = :community_id and
-    mr.rel_id = r.rel_id and
-    p.person_id = r.object_id_two and
-    member_state = 'approved'
-    ORDER BY
-    p.first_names, p.last_name
+    p.person_id = pa.party_id
+    $users_clause
 
     </querytext>
   </fullquery>
 
-    <fullquery name="dotlrn_members">
-    <querytext>
-    select
-    du.first_names || ' ' || du.last_name as name,
-    du.user_id as party_id
-    FROM
-    dotlrn_users du
-    </querytext>
-  </fullquery>
-
 </queryset>
\ No newline at end of file
Index: openacs-4/packages/project-manager/lib/task-week-calendar.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/task-week-calendar.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/lib/task-week-calendar.tcl	30 Jul 2005 00:26:33 -0000	1.1
+++ openacs-4/packages/project-manager/lib/task-week-calendar.tcl	30 Jul 2005 18:32:36 -0000	1.2
@@ -2,11 +2,18 @@
 set selected_users [pm::calendar::users_to_view]
 
 set instance_clause ""
+set users_clause ""
 set package_id [dotlrn_community::get_package_id_from_package_key -package_key project-manager -community_id [dotlrn_community::get_community_id]]
 
 if { ![string eq  [ad_conn package_id] [dotlrn::get_package_id]]} {
     
     set instance_clause "and o.package_id=:package_id"
+    set users_clause "and pa.project_id in (select  p.item_id
+          from pm_projectsx p 
+          where 
+          p.item_id = pa.project_id 
+          and p.object_package_id = :package_id)"
+
 } 
 
 set return_url [ad_return_url]\#top
@@ -113,7 +120,7 @@
     
     set users_list "<table>"
     foreach user $selected_users {
-	if {[db_string users {select 1 from pm_task_assignment where party_id=:user and task_id=:item_id} -default 0]} {
+	if {[db_string users { } -default 0]} {
 	    db_1row name {select p.first_names || ' ' || p.last_name  as full_name from persons p where person_id=:user}
 	    if { $user == $user_id } {
 		append users_list "<tr><td><span class=selected><small>$full_name</small></span></td></tr>"
@@ -174,14 +181,8 @@
 
 set community_id [dotlrn_community::get_community_id]
 
-set users_list "community_members"
 
-if {[empty_string_p $community_id]} {
-    set users_list  "dotlrn_members"
-}
-
-
-db_multirow -extend {checked_p} users $users_list {} {
+db_multirow -extend {checked_p} users assignees {} {
     if {[lsearch $users_to_view $party_id] == -1} {
         set checked_p f
     } else {
Index: openacs-4/packages/project-manager/lib/task-week-calendar.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/lib/task-week-calendar.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/lib/task-week-calendar.xql	30 Jul 2005 00:26:33 -0000	1.1
+++ openacs-4/packages/project-manager/lib/task-week-calendar.xql	30 Jul 2005 18:32:36 -0000	1.2
@@ -128,35 +128,30 @@
   </querytext>
 </partialquery>
 
-    <fullquery name="community_members">
+    <fullquery name="assignees">
     <querytext>
-    select
+    select distinct
     p.first_names || ' ' || p.last_name as name,
     p.person_id as party_id
     FROM
     persons p,
-    acs_rels r,
-    membership_rels mr
+    pm_project_assignment pa
     WHERE
-    r.object_id_one = :community_id and
-    mr.rel_id = r.rel_id and
-    p.person_id = r.object_id_two and
-    member_state = 'approved'
-    ORDER BY
-    p.first_names, p.last_name
-
+    p.person_id = pa.party_id  
+    $users_clause
     </querytext>
   </fullquery>
 
-    <fullquery name="dotlrn_members">
+    <fullquery name="users">
     <querytext>
-    select
-    du.first_names || ' ' || du.last_name as name,
-    du.user_id as party_id
-    FROM
-    dotlrn_users du
+	select distinct 1 
+	from pm_task_assignment 
+        where party_id=:user and task_id=:item_id
+
     </querytext>
   </fullquery>
 
 
+
+
 </queryset>
Index: openacs-4/packages/project-manager/www/project-assign-edit.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/project-assign-edit.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/project-manager/www/project-assign-edit.adp	27 Jul 2005 19:15:05 -0000	1.4
+++ openacs-4/packages/project-manager/www/project-assign-edit.adp	30 Jul 2005 18:32:36 -0000	1.5
@@ -1,5 +1,8 @@
 <master>
   <property name="title">@title@</property>
   <property name="context">@context@</property>
+
+<center><formtemplate id="search_user"></formtemplate></center>	
+
 @html;noquote@
 
Index: openacs-4/packages/project-manager/www/project-assign-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/project-assign-edit.tcl,v
diff -u -r1.9 -r1.10
--- openacs-4/packages/project-manager/www/project-assign-edit.tcl	28 Jul 2005 08:23:45 -0000	1.9
+++ openacs-4/packages/project-manager/www/project-assign-edit.tcl	30 Jul 2005 18:32:36 -0000	1.10
@@ -11,11 +11,17 @@
 } {
     project_item_id:integer,notnull
     return_url:notnull
+    {search_user_id ""}
 } -properties {
 } -validate {
 } -errors {
 }
 
+
+# Validate that search_user_id is on persons table to get the user name
+ad_return_complaint 1 "[template::form is_valid search_user]"
+
+
 # The unique identifier for this package.
 set package_id [ad_conn package_id]
 
@@ -62,6 +68,7 @@
 
 set assignee_list_of_lists [pm::util::subsite_assignees_list_of_lists]
 
+
 set html "<form action=\"project-assign-edit-2\" method=\"post\"><table border=0 width=\"100\%\"><tr>"
 
 foreach role_list $roles_list_of_lists {
@@ -75,7 +82,8 @@
     foreach assignee_list $assignee_list_of_lists {
         set name [lindex $assignee_list 0]
         set person_id [lindex $assignee_list 1]
-	set email [party::email -party_id $person_id]
+	set email Email
+	#[party::email -party_id $person_id]
 
         if {[exists_and_not_null assigned($person_id-$role)]} {
             set checked "checked"
@@ -101,3 +109,18 @@
 set export_vars [export_vars -form {project_item_id return_url}]
 
 append html "<tr><td colspan=\"[llength $roles_list_of_lists]\" align=\"center\"><input type=\"Submit\" value=\"[_ acs-kernel.common_Save]\"></td></tr></table>$export_vars</form>"
+
+
+
+ad_form -name search_user -form {
+    {project_item_id:text(hidden)
+	{value $project_item_id}
+    }
+    {return_url:text(hidden)
+	{value $return_url}
+    }
+    {search_user_id:party_search(party_search),optional
+	{label "Search for User:"}
+    }
+}
+
Index: openacs-4/packages/project-manager/www/task-week-calendar.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-week-calendar.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/www/task-week-calendar.tcl	30 Jul 2005 00:26:33 -0000	1.1
+++ openacs-4/packages/project-manager/www/task-week-calendar.tcl	30 Jul 2005 18:32:36 -0000	1.2
@@ -11,7 +11,13 @@
 
 set package_id [ad_conn package_id]
 set instance_clause "and o.package_id=:package_id"
+set users_clause "and pa.project_id in (select  p.item_id
+          from pm_projectsx p 
+          where 
+          p.item_id = pa.project_id 
+          and p.object_package_id = :package_id)"
 
+
 set return_url [ad_return_url]\#top
 
 set edit_hidden_vars [export_vars -form {return_url {new_tasks "0"}}]
@@ -116,7 +122,7 @@
     
     set users_list "<table>"
     foreach user $selected_users {
-	if {[db_string users {select 1 from pm_task_assignment where party_id=:user and task_id=:item_id} -default 0]} {
+	if {[db_string users {} -default 0]} {
 	    db_1row name {select p.first_names || ' ' || p.last_name  as full_name from persons p where person_id=:user}
 	    if { $user == $user_id } {
 		append users_list "<tr><td><span class=selected><small>$full_name</small></span></td></tr>"
@@ -175,16 +181,7 @@
 
 set users_to_view [pm::calendar::users_to_view]
 
-set community_id [dotlrn_community::get_community_id]
-
-set users_list "community_members"
-
-if {[empty_string_p $community_id]} {
-    set users_list  "dotlrn_members"
-}
-
-
-db_multirow -extend {checked_p} users $users_list {} {
+db_multirow -extend {checked_p} users assignees {} {
     if {[lsearch $users_to_view $party_id] == -1} {
         set checked_p f
     } else {
Index: openacs-4/packages/project-manager/www/task-week-calendar.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/task-week-calendar.xql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/project-manager/www/task-week-calendar.xql	30 Jul 2005 00:26:33 -0000	1.1
+++ openacs-4/packages/project-manager/www/task-week-calendar.xql	30 Jul 2005 18:32:36 -0000	1.2
@@ -128,35 +128,27 @@
   </querytext>
 </partialquery>
 
-    <fullquery name="community_members">
+    <fullquery name="assignees">
     <querytext>
-    select
+    select distinct
     p.first_names || ' ' || p.last_name as name,
     p.person_id as party_id
     FROM
     persons p,
-    acs_rels r,
-    membership_rels mr
+    pm_project_assignment pa
     WHERE
-    r.object_id_one = :community_id and
-    mr.rel_id = r.rel_id and
-    p.person_id = r.object_id_two and
-    member_state = 'approved'
-    ORDER BY
-    p.first_names, p.last_name
-
+    p.person_id = pa.party_id  
+    $users_clause
     </querytext>
   </fullquery>
 
-    <fullquery name="dotlrn_members">
+    <fullquery name="users">
     <querytext>
-    select
-    du.first_names || ' ' || du.last_name as name,
-    du.user_id as party_id
-    FROM
-    dotlrn_users du
+	select distinct 1 
+	from pm_task_assignment 
+        where party_id=:user and task_id=:item_id
+
     </querytext>
-  </fullquery>
+</fullquery>
 
-
 </queryset>
Index: openacs-4/packages/project-manager/www/lib/master.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/www/lib/master.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/project-manager/www/lib/master.adp	27 Jul 2005 19:01:02 -0000	1.3
+++ openacs-4/packages/project-manager/www/lib/master.adp	30 Jul 2005 18:32:36 -0000	1.4
@@ -18,7 +18,7 @@
    @import url(@package_url@style.css) all;
 </style>
 
-<!-- <include src="nav-bar" project_item_id="@project_item_id@"> -->
+<!-- include src="nav-bar" project_item_id="@project_item_id@" -->
 <p />
 
 <slave>