Commit 22113fc9 authored by Frank Bergmann's avatar Frank Bergmann

- CTP changes to allow reassigning both users and groups to a WF

parent d8c936ab
......@@ -10,9 +10,9 @@
acs_object__name(p.party_id) as name,
p.email
from parties p,
groups g
($group_user_select_sql) pp
where
p.party_id = g.group_id
p.party_id = pp.party_id
and not exists (
select 1
from wf_task_assignments ta
......@@ -22,7 +22,7 @@
from users u, party_approved_member_map m
where m.party_id = p.party_id
and u.user_id = m.member_id)
order by name, email
</querytext>
</fullquery>
......
......@@ -3,6 +3,7 @@ ad_page_contract {
} {
task_id:integer
return_url:optional
{ select_type "group" }
} -properties {
context
export_vars
......@@ -30,34 +31,24 @@ set export_vars [export_vars -form {task_id return_url}]
set focus "assign.party_id"
set party_widget "<select name=\"party_id\">\n"
switch $select_type {
group { set group_user_select_sql "select group_id as party_id from groups" }
person { set group_user_select_sql "select user_id as party_id from users_active" }
party { set group_user_select_sql "select group_id as party_id from groups UNION select user_id as party_id from users_active" }
}
set count 0
db_foreach unassigned_parties {
select p.party_id,
acs_object.name(p.party_id) as name,
p.email
from parties p
groups g
where p.party_id = g.group_id
and not exists (
select 1
from wf_task_assignments ta
where ta.task_id = :task_id and ta.party_id = p.party_id
)
and 0 < (
select count(*)
from users u, party_approved_member_map m
where m.party_id = p.party_id
and u.user_id = m.member_id
)
} {
incr count
append party_widget "<option value=\"$party_id\">$name [ad_decode $email "" "" "(<a href=\"mailto:$email\">$email</a>)"]</option>\n"
db_foreach unassigned_parties {} {
incr count
append party_widget "<option value=\"$party_id\">$name [ad_decode $email "" "" "(<a href=\"mailto:$email\">$email</a>)"]</option>\n"
}
append party_widget "</select>"
if { $count == 0 } {
set party_widget ""
set focus ""
set party_widget ""
set focus ""
}
ad_return_template
......
......@@ -25,7 +25,9 @@
</ul>
(<a href="@task.add_assignee_url@">add assignee</a>)
(<a href="@task.add_group_url@">add group</a>)
(<a href="@task.add_person_url@">add person</a>)
<if @task.this_user_is_assigned_p@ eq 0>
(<a href="@task.assign_yourself_url@">assign yourself</a>)
</if>
......@@ -55,4 +57,4 @@
</table>
</form>
</master>
\ No newline at end of file
</master>
......@@ -17,17 +17,17 @@ array set task [wf_task_info $task_id]
set party_id [ad_conn user_id]
set subsite_id [ad_conn subsite_id]
set sub_return_url "[ns_conn url]?[export_vars -url {task_id return_url}]"
set task(add_assignee_url) "assignee-add?[export_vars -url {task_id {return_url $sub_return_url}}]"
set task(add_group_url) "assignee-add?[export_vars -url {task_id {select_type group} {return_url $sub_return_url}}]"
set task(add_person_url) "assignee-add?[export_vars -url {task_id {select_type person} {return_url $sub_return_url}}]"
set task(assign_yourself_url) "assignee-add-2?[export_vars -url {task_id party_id {return_url $sub_return_url}}]"
set reassign_p [permission::permission_p -party_id $party_id -object_id $subsite_id -privilege "wf_reassign_tasks"]
if {!$reassign_p} {
ad_return_complaint 1 "<li>[_ intranet-core.lt_You_have_insufficient_1]"
return
}
set context [list [list "case?[export_vars -url {{case_id $task(case_id)}}]" "$task(object_name) case"] [list "task?[export_vars -url {task_id}]" "$task(task_name)"] "Assignees"]
db_multirow assignees assignees {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment