Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
intranet-invoices
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-invoices
Commits
877c0709
Commit
877c0709
authored
Apr 03, 2023
by
Frank Bergmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added a filter for projects & cost centers, added DynView capabilities
parent
6176d0f1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
68 additions
and
21 deletions
+68
-21
list.tcl
www/list.tcl
+68
-21
No files found.
www/list.tcl
View file @
877c0709
...
@@ -18,6 +18,7 @@ ad_page_contract {
...
@@ -18,6 +18,7 @@ ad_page_contract {
@cvs-id index.tcl,v 3.24.2.9 2000/09/22 01:38:44 kevin Exp
@cvs-id index.tcl,v 3.24.2.9 2000/09/22 01:38:44 kevin Exp
}
{
}
{
{
order_by
"Effective Date"
}
{
order_by
"Effective Date"
}
{
filter_project_id:integer 0
}
{
cost_status_id:integer
"
[
im_cost_status_created
]
"
}
{
cost_status_id:integer
"
[
im_cost_status_created
]
"
}
{
cost_type_id:integer 0
}
{
cost_type_id:integer 0
}
{
company_id:integer 0
}
{
company_id:integer 0
}
...
@@ -79,7 +80,7 @@ set date_format [im_l10n_sql_date_format]
...
@@ -79,7 +80,7 @@ set date_format [im_l10n_sql_date_format]
set
default_currency
[
im_parameter -package_id
[
im_package_cost_id
]
"DefaultCurrency"
""
"EUR"
]
set
default_currency
[
im_parameter -package_id
[
im_package_cost_id
]
"DefaultCurrency"
""
"EUR"
]
set
local_url
"/intranet-invoices/list"
set
local_url
"/intranet-invoices/list"
set
cost_status_created
[
im_cost_status_created
]
set
cost_status_created
[
im_cost_status_created
]
set
cost_type
[
db_string get_cost_type
"select category from im_categories where category_id
=
:cost_type_id"
-default
[
_ intranet-invoices.Costs
]]
set
cost_type
[
db_string get_cost_type
"select category from im_categories where category_id
=
:cost_type_id"
-default
[
_ intranet-invoices.Costs
]]
set
letter
[
string
toupper
$letter
]
set
letter
[
string
toupper
$letter
]
if
{
!
[
im_permission
$user
_id view_invoices
]}
{
if
{
!
[
im_permission
$user
_id view_invoices
]}
{
...
@@ -122,31 +123,47 @@ if {0 == $view_id} {
...
@@ -122,31 +123,47 @@ if {0 == $view_id} {
}
}
set
extra_selects
[
list
]
set
extra_froms
[
list
]
set
extra_wheres
[
list
]
set
column_sql
"
set
column_sql
"
select column_name,
select column_name,
column_render_tcl,
column_render_tcl,
visible_for,
visible_for,
order_by_clause as column_order_by_clause
extra_select,
from im_view_columns
extra_from,
where view_id = :view_id
extra_where,
and group_id is null
order_by_clause
order by
from im_view_columns
sort_order"
where view_id = :view_id
and group_id is null
order by
sort_order
"
# Get the main view
# Get the main view
set
column_headers
[
list
]
set
column_headers
[
list
]
set
column_vars
[
list
]
set
column_vars
[
list
]
set
order_by_clause
""
db_foreach column_list_sql
$column
_sql
{
db_foreach column_list_sql
$column
_sql
{
set admin_html
""
if
{
$user
_is_admin_p
}
{
set url
[
export_vars -base
"/intranet/admin/views/new-column"
{
column_id return_url
}]
set admin_html
"<a href='
$url
'>
[
im_gif wrench
""
]
</a>"
}
if
{
""
==
$visible
_for ||
[
eval
$visible
_for
]}
{
if
{
""
==
$visible
_for ||
[
eval
$visible
_for
]}
{
lappend column_headers
"
$column
_name"
lappend column_headers
"
$column
_name"
lappend column_vars
"
$column
_render_tcl"
lappend column_vars
"
$column
_render_tcl"
lappend column_headers_admin
$admin
_html
if
{
""
!=
$extra
_select
}
{
lappend extra_selects
[
eval
"set a
\"
$extra
_select
\"
"
]
}
if
{
""
!=
$extra
_from
}
{
lappend extra_froms
$extra
_from
}
if
{
""
!=
$extra
_where
}
{
lappend extra_wheres
$extra
_where
}
if
{
""
!=
$order
_by_clause &&
$order
_by ==
$column
_name
}
{
set view_order_by_clause
$order
_by_clause
}
}
}
if
{
$order
_by eq
$column
_name
}
{
set order_by_clause
$column
_order_by_clause
}
}
}
# ---------------------------------------------------------------
# ---------------------------------------------------------------
...
@@ -154,6 +171,17 @@ db_foreach column_list_sql $column_sql {
...
@@ -154,6 +171,17 @@ db_foreach column_list_sql $column_sql {
# ---------------------------------------------------------------
# ---------------------------------------------------------------
set
criteria
[
list
]
set
criteria
[
list
]
if
{
$filter
_project_id ne
""
&&
$filter
_project_id > 0
}
{
lappend criteria
"ci.project_id in (
select sub_p.project_id
from im_projects main_p,
im_projects sub_p
where main_p.project_id = :filter_project_id and
sub_p.tree_sortkey between main_p.tree_sortkey and tree_right(main_p.tree_sortkey)
)"
}
if
{
$cost
_status_id ne
""
&&
$cost
_status_id > 0
}
{
if
{
$cost
_status_id ne
""
&&
$cost
_status_id > 0
}
{
lappend criteria
"ci.cost_status_id in (
[
join
[
im_sub_categories
$cost
_status_id
]
","
]
)"
lappend criteria
"ci.cost_status_id in (
[
join
[
im_sub_categories
$cost
_status_id
]
","
]
)"
}
}
...
@@ -176,6 +204,23 @@ if {"" != $end_date} {
...
@@ -176,6 +204,23 @@ if {"" != $end_date} {
set
extra_select
[
join
$extra
_selects
",
\n\t
"
]
if
{
$extra
_select ne
""
}
{
set extra_select
",
\n\t
$extra
_select"
}
set
extra_from
[
join
$extra
_froms
",
\n\t
"
]
if
{
$extra
_from ne
""
}
{
set extra_from
",
\n\t
$extra
_from"
}
set
extra_where
[
join
$extra
_wheres
"and
\n\t
"
]
if
{
$extra
_where ne
""
}
{
set extra_where
",
\n\t
$extra
_where"
}
# Get the list of user's companies for which he can see invoices
# Get the list of user's companies for which he can see invoices
set
company_ids
[
db_list users_companies
"
set
company_ids
[
db_list users_companies
"
select
select
...
@@ -200,6 +245,7 @@ if {![im_permission $user_id view_invoices]} {
...
@@ -200,6 +245,7 @@ if {![im_permission $user_id view_invoices]} {
ns_log Notice
"/intranet-invoices/index: company_where=
$company
_where"
ns_log Notice
"/intranet-invoices/index: company_where=
$company
_where"
set
counter_reset_expression
""
set
counter_reset_expression
""
set
order_by_clause
""
# If filter is set to Customer or Provider Doc's and no order_by is providedwe order by creation date.
# If filter is set to Customer or Provider Doc's and no order_by is providedwe order by creation date.
# Before order_by was set to default (Document No
)
. This way documents showed up grouped by document types.
# Before order_by was set to default (Document No
)
. This way documents showed up grouped by document types.
...
@@ -256,11 +302,6 @@ if { $where_clause ne "" } {
...
@@ -256,11 +302,6 @@ if { $where_clause ne "" } {
set
payment_amount
""
set
payment_amount
""
set
payment_currency
""
set
payment_currency
""
set
extra_select
""
set
extra_from
""
set
extra_where
""
# -----------------------------------------------------------------
# -----------------------------------------------------------------
# Main SQL
# Main SQL
# -----------------------------------------------------------------
# -----------------------------------------------------------------
...
@@ -420,6 +461,12 @@ set filter_html "
...
@@ -420,6 +461,12 @@ set filter_html "
[
im_company_select -include_empty_p 1 -include_empty_name
"All"
company_id
$company
_id
]
[
im_company_select -include_empty_p 1 -include_empty_name
"All"
company_id
$company
_id
]
</td>
</td>
</tr>
</tr>
<tr>
<td>
[
_ intranet-core.Project
]
</td>
<td>
[
im_project_select -exclude_subprojects_p 1 -include_empty_p 1 filter_project_id
$filter
_project_id
]
</td>
</tr>
<tr>
<tr>
<td class=form-label>
[
_ intranet-core.Start_Date
]
</td>
<td class=form-label>
[
_ intranet-core.Start_Date
]
</td>
<td class=form-widget>
<td class=form-widget>
...
...
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