Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
intranet-helpdesk
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
project-open
intranet-helpdesk
Commits
8f4f926e
Commit
8f4f926e
authored
Sep 29, 2010
by
Frank Bergmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- renamed component for associating relationships
parent
1ef2c3b4
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
41 additions
and
31 deletions
+41
-31
intranet-helpdesk-create.sql
sql/postgresql/intranet-helpdesk-create.sql
+6
-6
intranet-helpdesk-procs.tcl
tcl/intranet-helpdesk-procs.tcl
+20
-6
associate-delete.tcl
www/associate-delete.tcl
+14
-19
related-objects-component.adp
www/related-objects-component.adp
+0
-0
related-objects-component.tcl
www/related-objects-component.tcl
+1
-0
No files found.
sql/postgresql/intranet-helpdesk-create.sql
View file @
8f4f926e
...
@@ -1118,7 +1118,7 @@ SELECT acs_permission__grant_permission(
...
@@ -1118,7 +1118,7 @@ SELECT acs_permission__grant_permission(
-- ------------------------------------------------------
-- ------------------------------------------------------
-- Show related
ticke
ts
-- Show related
objec
ts
--
--
SELECT
im_component_plugin__new
(
SELECT
im_component_plugin__new
(
null
,
-- plugin_id
null
,
-- plugin_id
...
@@ -1127,18 +1127,18 @@ SELECT im_component_plugin__new (
...
@@ -1127,18 +1127,18 @@ SELECT im_component_plugin__new (
null
,
-- creation_user
null
,
-- creation_user
null
,
-- creation_ip
null
,
-- creation_ip
null
,
-- context_id
null
,
-- context_id
'Related
Ticke
ts'
,
-- plugin_name
'Related
Objec
ts'
,
-- plugin_name
'intranet-helpdesk'
,
-- package_name
'intranet-helpdesk'
,
-- package_name
'right'
,
-- location
'right'
,
-- location
'/intranet-helpdesk/new'
,
-- page_url
'/intranet-helpdesk/new'
,
-- page_url
null
,
-- view_name
null
,
-- view_name
9
0
,
-- sort_order
9
1
,
-- sort_order
'im_helpdesk_related_
ticke
ts_component -ticket_id $ticket_id'
,
'im_helpdesk_related_
objec
ts_component -ticket_id $ticket_id'
,
'lang::message::lookup "" intranet-helpdesk.Related_
Tickets "Related Ticke
ts"'
'lang::message::lookup "" intranet-helpdesk.Related_
Objects "Related Objec
ts"'
);
);
SELECT
acs_permission__grant_permission
(
SELECT
acs_permission__grant_permission
(
(
select
plugin_id
from
im_component_plugins
where
plugin_name
=
'Related
Ticke
ts'
and
package_name
=
'intranet-helpdesk'
),
(
select
plugin_id
from
im_component_plugins
where
plugin_name
=
'Related
Objec
ts'
and
package_name
=
'intranet-helpdesk'
),
(
select
group_id
from
groups
where
group_name
=
'Employees'
),
(
select
group_id
from
groups
where
group_name
=
'Employees'
),
'read'
'read'
);
);
...
...
tcl/intranet-helpdesk-procs.tcl
View file @
8f4f926e
...
@@ -91,13 +91,18 @@ ad_proc -public im_ticket_permissions {
...
@@ -91,13 +91,18 @@ ad_proc -public im_ticket_permissions {
upvar
$write
_var write
upvar
$write
_var write
upvar
$admin
_var admin
upvar
$admin
_var admin
set view 0
set read 0
set write 0
set admin 0
set admin_p
[
im_is_user_site_wide_or_intranet_admin
$user
_id
]
set admin_p
[
im_is_user_site_wide_or_intranet_admin
$user
_id
]
set edit_ticket_status_p
[
im_permission
$user
_id edit_ticket_status
]
set edit_ticket_status_p
[
im_permission
$user
_id edit_ticket_status
]
set add_tickets_for_customers_p
[
im_permission
$user
_id add_tickets_for_customers
]
set add_tickets_for_customers_p
[
im_permission
$user
_id add_tickets_for_customers
]
set add_tickets_p
[
im_permission
$user
_id
"add_tickets"
]
set add_tickets_p
[
im_permission
$user
_id
"add_tickets"
]
set view_tickets_all_p
[
im_permission
$user
_id
"view_tickets_all"
]
set view_tickets_all_p
[
im_permission
$user
_id
"view_tickets_all"
]
db_0or1row ticket_info
"
if
{
!
[
db_0or1row ticket_info
"
select coalesce(t.ticket_assignee_id, 0) as ticket_assignee_id,
select coalesce(t.ticket_assignee_id, 0) as ticket_assignee_id,
coalesce(t.ticket_customer_contact_id,0) as ticket_customer_contact_id,
coalesce(t.ticket_customer_contact_id,0) as ticket_customer_contact_id,
coalesce(o.creation_user,0) as creation_user_id,
coalesce(o.creation_user,0) as creation_user_id,
...
@@ -143,14 +148,15 @@ ad_proc -public im_ticket_permissions {
...
@@ -143,14 +148,15 @@ ad_proc -public im_ticket_permissions {
where t.ticket_id = :ticket_id and
where t.ticket_id = :ticket_id and
t.ticket_id = p.project_id and
t.ticket_id = p.project_id and
t.ticket_id = o.object_id
t.ticket_id = o.object_id
"
"
]}
{
# Didn't find ticket - just return with permissions set to 0...
return 0
}
set owner_p
[
expr
$user
_id ==
$creation
_user_id
]
set owner_p
[
expr
$user
_id ==
$creation
_user_id
]
set assignee_p
[
expr
$user
_id ==
$ticket
_assignee_id
]
set assignee_p
[
expr
$user
_id ==
$ticket
_assignee_id
]
set customer_p
[
expr
$user
_id ==
$ticket
_customer_contact_id
]
set customer_p
[
expr
$user
_id ==
$ticket
_customer_contact_id
]
# ad_return_complaint 1 "<pre>\nowner_p=$owner_p\nassignee_p=$assignee_p\ncustomer_p=$customer_p\ncase_assignee_p=$case_assignee_p\nholding_user_p=$holding_user_p\nqueue_member_p=$queue_member_p\n</pre>"
set read
[
expr
$admin
_p ||
$owner
_p ||
$assignee
_p ||
$customer
_p ||
$holding
_user_p ||
$case
_assignee_p ||
$queue
_member_p ||
$view
_tickets_all_p ||
$add
_tickets_for_customers_p ||
$edit
_ticket_status_p
]
set read
[
expr
$admin
_p ||
$owner
_p ||
$assignee
_p ||
$customer
_p ||
$holding
_user_p ||
$case
_assignee_p ||
$queue
_member_p ||
$view
_tickets_all_p ||
$add
_tickets_for_customers_p ||
$edit
_ticket_status_p
]
set write
[
expr
$read
&&
$edit
_ticket_status_p
]
set write
[
expr
$read
&&
$edit
_ticket_status_p
]
...
@@ -1128,7 +1134,7 @@ ad_proc -public im_navbar_tree_helpdesk_ticket_type {
...
@@ -1128,7 +1134,7 @@ ad_proc -public im_navbar_tree_helpdesk_ticket_type {
# ---------------------------------------------------------------
# ---------------------------------------------------------------
ad_proc -public im_helpdesk_related_
ticke
ts_component
{
ad_proc -public im_helpdesk_related_
objec
ts_component
{
-ticket_id:required
-ticket_id:required
}
{
}
{
Returns a HTML component with the list of related tickets.
Returns a HTML component with the list of related tickets.
...
@@ -1139,7 +1145,15 @@ ad_proc -public im_helpdesk_related_tickets_component {
...
@@ -1139,7 +1145,15 @@ ad_proc -public im_helpdesk_related_tickets_component {
[
list
return_url
[
im_url_with_query
]]
\
[
list
return_url
[
im_url_with_query
]]
\
]
]
set result
[
ad_parse_template -params
$params
"/packages/intranet-helpdesk/www/related-
ticke
ts-component"
]
set result
[
ad_parse_template -params
$params
"/packages/intranet-helpdesk/www/related-
objec
ts-component"
]
return
[
string
trim
$result
]
return
[
string
trim
$result
]
}
}
ad_proc -public im_helpdesk_related_tickets_component
{
-ticket_id:required
}
{
Replaced by im_helpdesk_related_objects_component
}
{
return
""
}
www/
ticket-ticket-rel-del
.tcl
→
www/
associate-delete
.tcl
View file @
8f4f926e
# /packages/intranet-helpdesk/www/
ticket-ticket-rel-del
.tcl
# /packages/intranet-helpdesk/www/
associate-delete
.tcl
#
#
# Copyright (c
)
20
03 - 2009
]
project-open
[
# Copyright (c
)
20
10
]
project-open
[
#
#
# All rights reserved. Please check
# All rights reserved. Please check
# http://www.project-open.com/license/ for details.
# http://www.project-open.com/license/ for details.
...
@@ -14,6 +14,7 @@ ad_page_contract {
...
@@ -14,6 +14,7 @@ ad_page_contract {
@author frank.bergmann@project-open.com
@author frank.bergmann@project-open.com
}
{
}
{
{
rel_id:multiple
{}
}
{
rel_id:multiple
{}
}
{
ticket_id:integer
""
}
return_url
return_url
}
}
...
@@ -24,6 +25,13 @@ ad_page_contract {
...
@@ -24,6 +25,13 @@ ad_page_contract {
# User id already verified by filters
# User id already verified by filters
set
current_user_id
[
ad_maybe_redirect_for_registration
]
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
{
foreach
id
$rel
_id
{
set object_id_one 0
set object_id_one 0
...
@@ -31,25 +39,12 @@ foreach id $rel_id {
...
@@ -31,25 +39,12 @@ foreach id $rel_id {
db_0or1row rel_info
"
db_0or1row rel_info
"
select r.object_id_one,
select r.object_id_one,
r.object_id_two
r.object_id_two
from acs_rels r,
from acs_rels r
im_ticket_ticket_rels ttr
where r.rel_id = :id and
where r.rel_id = ttr.rel_id
(r.object_id_one = :ticket_id OR r.object_id_two = :ticket_id)
and r.rel_id = :id
"
"
set del_p 0
db_string rel_delete
"select acs_rel__delete(:id)"
im_ticket_permissions
$current
_user_id
$object
_id_one view read write admin
if
{
$write
}
{
set del_p 1
}
im_ticket_permissions
$current
_user_id
$object
_id_two view read write admin
if
{
$write
}
{
set del_p 1
}
if
{
!$del_p
}
{
ad_return_complaint 1
"Unsufficient Permissions:<br>You don't have sufficient
permissions to delete the relationship between objects:
$object
_id_one -
$object
_id_two"
ad_script_abort
}
db_string del_ticket_ticket_rel
"select im_ticket_ticket_rel__delete(:id)"
}
}
...
...
www/related-
ticke
ts-component.adp
→
www/related-
objec
ts-component.adp
View file @
8f4f926e
File moved
www/related-
ticke
ts-component.tcl
→
www/related-
objec
ts-component.tcl
View file @
8f4f926e
...
@@ -91,6 +91,7 @@ set object_rel_sql "
...
@@ -91,6 +91,7 @@ set object_rel_sql "
where
where
r.rel_type = rt.object_type and
r.rel_type = rt.object_type and
o.object_type = ot.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_one = :ticket_id and
r.object_id_two = o.object_id
r.object_id_two = o.object_id
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment