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
1ad7d3ae
Commit
1ad7d3ae
authored
Nov 03, 2020
by
Frank Bergmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Implemented CSP (Content Security Policy)
parent
de9ed829
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
115 additions
and
15 deletions
+115
-15
ticket-age-per-queue.adp
lib/ticket-age-per-queue.adp
+1
-1
ticket-aging.adp
lib/ticket-aging.adp
+1
-1
intranet-helpdesk-create.sql
sql/postgresql/intranet-helpdesk-create.sql
+2
-2
upgrade-5.0.3.0.3-5.0.3.0.4.sql
sql/postgresql/upgrade/upgrade-5.0.3.0.3-5.0.3.0.4.sql
+82
-0
index.adp
www/index.adp
+9
-1
index.tcl
www/index.tcl
+2
-2
new.adp
www/new.adp
+1
-1
new.tcl
www/new.tcl
+1
-1
notify-stakeholders.adp
www/notify-stakeholders.adp
+9
-1
ticket-select.adp
www/ticket-select.adp
+6
-1
ticket-select.tcl
www/ticket-select.tcl
+1
-4
No files found.
lib/ticket-age-per-queue.adp
View file @
1ad7d3ae
<div id=@diagram_id@></div>
<script type='text/javascript'>
<script type='text/javascript'
<if @::__csp_nonce@ not nil>nonce="@::__csp_nonce;literal@"</if>
>
Ext.Loader.setPath('PO', '/sencha-core');
Ext.Loader.setPath('GanttEditor', '/intranet-gantt-editor');
...
...
lib/ticket-aging.adp
View file @
1ad7d3ae
<div id=@diagram_id@></div>
<script type='text/javascript'>
<script type='text/javascript'
<if @::__csp_nonce@ not nil>nonce="@::__csp_nonce;literal@"</if>
>
Ext.Loader.setPath('PO', '/sencha-core');
Ext.require([
'Ext.chart.*',
...
...
sql/postgresql/intranet-helpdesk-create.sql
View file @
1ad7d3ae
...
...
@@ -1079,7 +1079,7 @@ insert into im_view_columns (
visible_for
)
values
(
27099
,
270
,
-
1
,
'<input
type=checkbox name=_dummy onclick="acs_ListCheckAll(
''
ticket
''
,this.checked)"
>'
,
'<input
id=list_check_all type=checkbox name=_dummy
>'
,
'$action_checkbox'
,
''
);
...
...
@@ -1409,7 +1409,7 @@ SELECT im_dynfield_widget__new (
order by name
}}
after_html {
<script type="text/javascript">
<script type="text/javascript"
nonce="[im_csp_nonce]"
>
function customerContactSelectOnChange() {
var xmlHttp1;
try { xmlHttp1=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
...
...
sql/postgresql/upgrade/upgrade-5.0.3.0.3-5.0.3.0.4.sql
0 → 100644
View file @
1ad7d3ae
-- upgrade-5.0.3.0.3-5.0.3.0.4.sql
SELECT
acs_log__debug
(
'/packages/intranet-helpdesk/sql/postgresql/upgrade/upgrade-5.0.3.0.3-5.0.3.0.4.sql'
,
''
);
update
im_dynfield_widgets
set
parameters
=
'{custom {sql {
select u.user_id,
im_name_from_user_id(u.user_id) as name
from users u
where u.user_id not in (
-- Exclude deleted or disabled users
select m.member_id
from group_member_map m,
membership_rels mr
where m.group_id = acs__magic_object_id(
''
registered_users
''
) and
m.rel_id = mr.rel_id and
m.container_id = m.group_id and
mr.member_state !=
''
approved
''
)
order by name
}}
after_html {
<script type="text/javascript" nonce="[im_csp_nonce]">
function customerContactSelectOnChange() {
var xmlHttp1;
try { xmlHttp1=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
} catch (e) {
try { xmlHttp1=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
} catch (e) {
try { xmlHttp1=new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp1.onreadystatechange = function() {
if(xmlHttp1.readyState==4) {
var divElement = document.getElementById(
''
customer_contact_div
''
);
divElement.innerHTML = this.responseText;
}
}
var customer_id = document.helpdesk_ticket.ticket_customer_contact_id.value;
xmlHttp1.open("GET","/intranet/components/ajax-component-value?plugin_name=Customer%20Info&package_key=intranet-helpdesk&ticket_customer_contact_id=" + customer_id,true);
xmlHttp1.send(null);
}
window.onload = function() {
var dropdown = document.helpdesk_ticket.ticket_customer_contact_id;
dropdown.onchange = customerContactSelectOnChange;
var divElement = document.getElementById(
''
customer_contact_div
''
);
if (divElement != null){
var div = document.helpdesk_ticket.ticket_customer_contact_id;
div.onchange = customerContactSelectOnChange;
if (div.value != null) { customerContactSelectOnChange() }
}
}
</script>
}
}'
where
widget_name
=
'customer_contact_select_ajax'
;
delete
from
im_view_columns
where
column_id
=
27099
;
insert
into
im_view_columns
(
column_id
,
view_id
,
sort_order
,
column_name
,
column_render_tcl
,
visible_for
)
values
(
27099
,
270
,
-
1
,
'<input id=list_check_all type=checkbox name=_dummy>'
,
'$action_checkbox'
,
''
);
www/index.adp
View file @
1ad7d3ae
...
...
@@ -5,7 +5,15 @@
<property name="sub_navbar">@ticket_navbar_html;literal@</property>
<property name="left_navbar">@left_navbar_html;literal@</property>
<SCRIPT Language=JavaScript src=/resources/diagram/diagram/diagram.js></SCRIPT>
<!-- Show calendar on start- and end-date -->
<script type="text/javascript" <if @::__csp_nonce@ not nil>nonce="@::__csp_nonce;literal@"</if>>
window.addEventListener('load', function() {
document.getElementById('start_date_calendar').addEventListener('click', function() { showCalendar('start_date', 'y-m-d'); });
document.getElementById('end_date_calendar').addEventListener('click', function() { showCalendar('end_date', 'y-m-d'); });
document.getElementById('list_check_all').addEventListener('click', function() { acs_ListCheckAll('ticket', this.checked) });
});
</script>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<form action=/intranet-helpdesk/action method=POST>
...
...
www/index.tcl
View file @
1ad7d3ae
...
...
@@ -269,8 +269,8 @@ ad_form \
-method GET
\
-form
{
{
mine_p:text
(
select
)
,optional
{
label
"
$mine
_all_l10n"
}
{
options
$mine
_p_options
}}
{
start_date:text
(
text
)
{
label
"
[
_ intranet-timesheet2.Start_Date
]
"
}
{
value
"
$start
_date"
}
{
html
{
size 10
}}
{
after_html
{
<input type=
"button"
style=
"height:20px; width:20px; background: url('/resources/acs-templating/calendar.gif');"
onclick =
"return showCalendar('start_date', 'y-m-d
');"
>
}}}
{
end_date:text
(
text
)
{
label
"
[
_ intranet-timesheet2.End_Date
]
"
}
{
value
"
$end
_date"
}
{
html
{
size 10
}}
{
after_html
{
<input type=
"button"
style=
"height:20px; width:20px; background: url('/resources/acs-templating/calendar.gif');"
onclick =
"return showCalendar('end_date', 'y-m-d');"
>
}}}
{
start_date:text
(
text
)
{
label
"
[
_ intranet-timesheet2.Start_Date
]
"
}
{
value
"
$start
_date"
}
{
html
{
size 10
}}
{
after_html
{
<input type=
"button"
id=start_date_calendar style=
"height:20px; width:20px; background: url('/resources/acs-templating/calendar.gif
');"
>
}}}
{
end_date:text
(
text
)
{
label
"
[
_ intranet-timesheet2.End_Date
]
"
}
{
value
"
$end
_date"
}
{
html
{
size 10
}}
{
after_html
{
<input type=
"button"
id=end_date_calendar style=
"height:20px; width:20px; background: url('/resources/acs-templating/calendar.gif');"
>
}}}
{
ticket_name:text
(
text
)
,optional
{
label
"
[
_ intranet-helpdesk.Ticket_Name
]
"
}
{
html
{
size 12
}}}
{
ticket_status_id:text
(
im_category_tree
)
,optional
{
label
"
[
lang::message::lookup
{}
intranet-helpdesk.Status Status
]
"
}
{
custom
{
category_type
"Intranet Ticket Status"
translate_p 1 package_key
"intranet-core"
}}
}
{
ticket_sla_id:text
(
select
)
,optional
{
label
"
[
lang::message::lookup
{}
intranet-helpdesk.SLA SLA
]
"
}
{
options
$ticket
_sla_options
}}
...
...
www/new.adp
View file @
1ad7d3ae
...
...
@@ -6,7 +6,7 @@
<property name="sub_navbar">@sub_navbar;literal@</property>
<property name="left_navbar">@left_navbar_html;literal@</property>
<
SCRIPT Language=JavaScript src=/resources/diagram/diagram/diagram.js></SCRIPT
>
<
!-- <SCRIPT Language=JavaScript src=/resources/diagram/diagram/diagram.js></SCRIPT> --
>
@message_html;noquote@
<if @message@ not nil>
...
...
www/new.tcl
View file @
1ad7d3ae
...
...
@@ -266,7 +266,7 @@ if {"edit" == $form_mode && [info exists ticket_id]} {
set msg
[
lang::message::lookup
""
intranet-helpdesk.Ticket_Recently_Edited
"This ticket was locked by %lock_user_name% %lock_minutes% minutes and %lock_seconds% seconds ago."
]
set message_html
"
<script type=
\"
text/javascript
\"
>
<script type=
\"
text/javascript
\"
nonce=
\"
[
im_csp_nonce
]
\"
>
alert('
$msg
');
</script>
"
...
...
www/notify-stakeholders.adp
View file @
1ad7d3ae
...
...
@@ -3,6 +3,14 @@
<property name="context">#intranet-core.context#</property>
<property name="main_navbar_label">helpdesk</property>
<!-- Show calendar on start- and end-date -->
<script type="text/javascript" <if @::__csp_nonce@ not nil>nonce="@::__csp_nonce;literal@"</if>>
window.addEventListener('load', function() {
document.getElementById('list_check_all').addEventListener('click', function() { acs_ListCheckAll('alerts', this.checked) });
});
</script>
<h1>@page_title@</h1>
<form action="/intranet/member-notify" method=GET>
...
...
@@ -17,7 +25,7 @@
<table>
<tr class=rowtitle>
<th align="center">
<input
type="checkbox" name="_dummy" onclick="acs_ListCheckAll('alerts', this.checked)
" title="<%= [lang::message::lookup "" intranet-helpdesk.Check_Uncheck_all_rows "Check/Uncheck all rows"] %>" checked>
<input
id=list_check_all type="checkbox" name="_dummy
" title="<%= [lang::message::lookup "" intranet-helpdesk.Check_Uncheck_all_rows "Check/Uncheck all rows"] %>" checked>
</th>
<th><%= [lang::message::lookup "" intranet-helpdesk.Name Name] %></th>
<th><%= [lang::message::lookup "" intranet-helpdesk.Email Email] %></th>
...
...
www/ticket-select.adp
View file @
1ad7d3ae
...
...
@@ -5,7 +5,12 @@
<property name="sub_navbar">@ticket_navbar_html;literal@</property>
<property name="left_navbar">@left_navbar_html;literal@</property>
<SCRIPT Language=JavaScript src=/resources/diagram/diagram/diagram.js></SCRIPT>
<script type="text/javascript" <if @::__csp_nonce@ not nil>nonce="@::__csp_nonce;literal@"</if>>
window.addEventListener('load', function() {
document.getElementById('list_check_all').addEventListener('click', function() { acs_ListCheckAll('ticket_list', this.checked) });
});
</script>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<form action="@return_url;noquote@" method=GET>
...
...
www/ticket-select.tcl
View file @
1ad7d3ae
...
...
@@ -522,10 +522,7 @@ list::create \
-actions
[
list
]
\
-elements
{
ticket_chk
{
label
"<input type=
\"
checkbox
\"
name=
\"
_dummy
\"
onclick=
\"
acs_ListCheckAll('ticket_list', this.checked)
\"
title=
\"
Check/uncheck all rows
\"
label
"<input id=list_check_all type=
\"
checkbox
\"
name=
\"
_dummy
\"
title=
\"
Check/uncheck all rows
\"
checked
>"
display_template
{
...
...
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