Commit 6306ae1c authored by Frank Bergmann's avatar Frank Bergmann

- moved related-objects-component to intranet-core

- renamed associate* to related-objects-associate*
parent 7775838e
# /packages/intranet-helpdesk/www/associate-delete.tcl
#
# Copyright (c) 2010 ]project-open[
#
# All rights reserved. Please check
# http://www.project-open.com/license/ for details.
# ---------------------------------------------------------------
# 1. Page Contract
# ---------------------------------------------------------------
ad_page_contract {
Delete rel_ids from im_ticket_ticket_rel
@author frank.bergmann@project-open.com
} {
{ rel_id:multiple {} }
{ ticket_id:integer "" }
return_url
}
# ---------------------------------------------------------------
# Defaults & Security
# ---------------------------------------------------------------
# User id already verified by filters
set current_user_id [ad_maybe_redirect_for_registration]
# Check permission on "ticket_id".
# The SQL below only selects relationships associated with ticket_id.
im_ticket_permissions $current_user_id $ticket_id view read write admin
if {!$write} { ad_return_complaint 1 "Insufficient Permissions on ticket #$ticket_id" }
foreach id $rel_id {
set object_id_one 0
set object_id_two 0
db_0or1row rel_info "
select r.object_id_one,
r.object_id_two
from acs_rels r
where r.rel_id = :id and
(r.object_id_one = :ticket_id OR r.object_id_two = :ticket_id)
"
db_string rel_delete "select acs_rel__delete(:id)"
}
template::forward $return_url
<listtemplate name="tickets"></listtemplate>
# /packages/intranet-helpdesk/www/related-tickets-component.tcl
#
# Copyright (c) 2003-2008 ]project-open[
#
# All rights reserved. Please check
# http://www.project-open.com/license/ for details.
# Shows the list of tickets related to the current ticket
# ---------------------------------------------------------------
# Variables
# ---------------------------------------------------------------
# { ticket_id:integer "" }
# return_url
# ---------------------------------------------------------------
# Defaults & Security
# ---------------------------------------------------------------
set current_user_id [ad_maybe_redirect_for_registration]
# ---------------------------------------------------------------
# Referenced Tickets - Problem tickets referenced by THIS ticket
# ---------------------------------------------------------------
set bulk_action_list {}
lappend bulk_actions_list "[lang::message::lookup "" intranet-helpdesk.Delete "Delete"]" "associate-delete" "[lang::message::lookup "" intranet-helpdesk.Remove_checked_items "Remove Checked Items"]"
set actions [list]
set assoc_msg [lang::message::lookup {} intranet-helpdesk.New_Association {Associated with new Object}]
lappend actions $assoc_msg [export_vars -base "/intranet-helpdesk/associate" {return_url {tid $ticket_id}}] ""
list::create \
-name tickets \
-multirow tickets_multirow \
-key rel_id \
-row_pretty_plural "[lang::message::lookup {} intranet-helpdesk.Associated_Objects "Associated Objects"]" \
-has_checkboxes \
-bulk_actions $bulk_actions_list \
-bulk_action_export_vars { ticket_id return_url } \
-actions $actions \
-elements {
ticket_chk {
label "<input type=\"checkbox\"
name=\"_dummy\"
onclick=\"acs_ListCheckAll('tickets_list', this.checked)\"
title=\"Check/uncheck all rows\">"
display_template {
@tickets_multirow.ticket_chk;noquote@
}
}
rel_name {
label "[lang::message::lookup {} intranet-helpdesk.Relationship_Type {Relationship}]"
}
direction_pretty {
label "[lang::message::lookup {} intranet-helpdesk.Direction { }]"
display_template {
@tickets_multirow.direction_pretty;noquote@
}
}
object_type_pretty {
label "[lang::message::lookup {} intranet-helpdesk.Object_Type {Type}]"
}
object_name {
label "[lang::message::lookup {} intranet-helpdesk.Object_Name {Object Name}]"
link_url_eval {$object_url}
}
}
set object_rel_sql "
select
o.object_id,
acs_object__name(o.object_id) as object_name,
o.object_type as object_type,
ot.pretty_name as object_type_pretty,
otu.url as object_url_base,
r.rel_id,
r.rel_type as rel_type,
rt.pretty_name as rel_type_pretty,
CASE WHEN r.object_id_one = :ticket_id THEN 'incoming'
WHEN r.object_id_two = :ticket_id THEN 'outgoing'
ELSE ''
END as direction
from
acs_rels r,
acs_object_types rt,
acs_objects o,
acs_object_types ot
LEFT OUTER JOIN (select * from im_biz_object_urls where url_type = 'view') otu ON otu.object_type = ot.object_type
where
r.rel_type = rt.object_type and
o.object_type = ot.object_type and
rel_type not in ('im_biz_object_member') and -- handled by the Ticket Members component
(
r.object_id_one = :ticket_id and
r.object_id_two = o.object_id
OR
r.object_id_one = o.object_id and
r.object_id_two = :ticket_id
)
order by
o.object_type,
direction,
object_name
"
db_multirow -extend { ticket_chk object_url direction_pretty rel_name } tickets_multirow object_rels $object_rel_sql {
set object_url "$object_url_base$object_id"
set ticket_chk "<input type=\"checkbox\"
name=\"rel_id\"
value=\"$rel_id\"
id=\"tickets_list,$rel_id\">
"
set rel_name [lang::message::lookup "" intranet-helpdesk.Rel_$rel_type $rel_type_pretty]
switch $direction {
incoming { set direction_pretty [im_gif arrow_right] }
outgoing { set direction_pretty [im_gif arrow_left] }
default { set direction_pretty "" }
}
}
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