Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
intranet-confdb
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-confdb
Commits
448cdbf7
Commit
448cdbf7
authored
Jul 20, 2018
by
Frank Bergmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Optimized ConfItem SQL (5s -> 0.5s)
parent
30bae846
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
5 deletions
+14
-5
intranet-confdb-procs.tcl
tcl/intranet-confdb-procs.tcl
+14
-5
No files found.
tcl/intranet-confdb-procs.tcl
View file @
448cdbf7
...
...
@@ -259,6 +259,7 @@ ad_proc -public im_conf_item_select_sql {
{
-var_list
""
}
{
-parent_id
""
}
{
-treelevel
""
}
{
-current_user_id
""
}
}
{
Returns an SQL statement that allows you to select a range of
configuration items, given a number of conditions.
...
...
@@ -276,8 +277,14 @@ ad_proc -public im_conf_item_select_sql {
- member_id: Check for owner_id OR association relationship.
}
{
# Prepare and check some variables.
set current_user_id 0
if
{[
ns_conn isconnected
]}
{
set current_user_id
[
ad_conn user_id
]
}
if
{
!
[
ns_conn isconnected
]}
{
# Not connected. We can't do much...
if
{
""
eq
$current
_user_id
}
{
set current_user_id 0
}
}
else
{
set current_user_id
[
ad_conn user_id
]
}
set view_conf_items_all_p
[
im_permission
$current
_user_id
"view_conf_items_all"
]
# base url, where only the conf_item_id has to be added
set conf_item_base_url
"/intranet-confdb/new?form_mode=display&conf_item_id="
...
...
@@ -338,8 +345,9 @@ ad_proc -public im_conf_item_select_sql {
# -----------------------------------------------
# Permissions
set perm_where
"
('t' = acs_permission__permission_p(
[
subsite::main_site_id
]
,
$current
_user_id, 'view_conf_items_all') OR
set perm_where
""
if
{
!$view_conf_items_all_p
}
{
set perm_where
"
i.conf_item_id in (
-- User is explicit member of conf item
select ci.conf_item_id
...
...
@@ -397,8 +405,9 @@ ad_proc -public im_conf_item_select_sql {
p.company_id = c.company_id and
r2.object_id_two = ci.conf_item_id and
r2.object_id_one = p.project_id
)
)
)
"
}
set project_perm_sql
"
select pp.project_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