Commit 9eb9ec4f authored by Frank Bergmann's avatar Frank Bergmann

- Riskmanagement:

  - Fixed issue in RiskViewPage displaying risk project if the risk project is already closed
  - In RiskListPage now showing only risks of projects that are not yet closed
  - In RiskListPage created a new view "risk_list_long" with project name and name of creation user
parent 0c77dfec
......@@ -9,6 +9,7 @@
# end_date
# risk_ids
# extra_sql_list
# view_name
# ad_return_complaint 1 $extra_sql_list
......@@ -158,7 +159,18 @@ foreach varname [info locals] {
# ---------------------------------------------------------
set criteria {}
if {[info exists project_id] && "" != $project_id && 0 != $project_id} { lappend criteria "r.risk_project_id = :project_id" }
if {[info exists project_id] && "" != $project_id && 0 != $project_id} {
lappend criteria "r.risk_project_id = :project_id"
} else {
lappend criteria "r.risk_project_id in (
select project_id
from im_projects
where parent_id is null and
project_status_id not in ([join [im_sub_categories [im_project_status_closed]] ","])
)"
}
if {[info exists risk_status_id] && "" != $risk_status_id && 0 != $risk_status_id} {
lappend criteria "r.risk_status_id in ([join [im_sub_categories $risk_status_id] ","])"
} else {
......@@ -201,12 +213,17 @@ set risk_sql "
select o.*,
r.*,
im_category_from_id(r.risk_type_id) as risk_type,
im_category_from_id(r.risk_status_id) as risk_status
from im_risks r,
acs_objects o
im_category_from_id(r.risk_status_id) as risk_status,
p.project_name as risk_project_name,
im_name_from_user_id(o.creation_user) as creation_user_name
from acs_objects o,
im_risks r
LEFT OUTER JOIN im_projects p ON (r.risk_project_id = p.project_id)
where r.risk_id = o.object_id
$where_clause
order by risk_probability_percent * risk_impact DESC;
order by
p.project_name,
risk_probability_percent * risk_impact DESC;
"
set ctr 0
......
......@@ -334,14 +334,19 @@ where plugin_name = 'Project Risks';
-- 210-219 Riskmanagement
delete from im_view_columns where view_id = 210;
delete from im_views where view_id = 210;
insert into im_views (view_id, view_name, visible_for, view_type_id)
values (210, 'im_risk_list_short', 'view_risks', 1400);
delete from im_view_columns where view_id in (210, 211);
delete from im_views where view_id in (210, 211);
-----------------------------------------------------------
-- Risk List Short
--
insert into im_views (view_id, view_name, visible_for, view_type_id) values (210, 'im_risk_list_short', 'view_risks', 1400);
-- Add a "select all" checkbox to select all risks in the list
delete from im_view_columns where column_id = 21099;
insert into im_view_columns (
column_id, view_id, sort_order,
column_name,
......@@ -354,7 +359,6 @@ insert into im_view_columns (
''
);
delete from im_view_columns where column_id = 21010;
insert into im_view_columns (column_id, view_id, sort_order, column_name, column_render_tcl) values
(21010, 210, 10, 'Name', '"<a href=[export_vars -base "/intranet-riskmanagement/new" {{form_mode display} risk_id return_url}]>$risk_name</a>"');
......@@ -373,6 +377,62 @@ insert into im_view_columns (column_id, view_id, sort_order, column_name, column
-----------------------------------------------------------
-- Risk List Long
--
insert into im_views (view_id, view_name, visible_for, view_type_id) values (211, 'im_risk_list_long', 'view_risks', 1400);
-- Add a "select all" checkbox to select all risks in the list
insert into im_view_columns (
column_id, view_id, sort_order,
column_name,
column_render_tcl,
visible_for
) values (
21100, 211, 0,
'<input type=checkbox name=_dummy onclick="acs_ListCheckAll(''risk'',this.checked)">',
'"<input type=checkbox name=risk_id.$risk_id id=risk.$risk_id>"',
''
);
insert into im_view_columns (column_id, view_id, sort_order, column_name, column_render_tcl) values
(21110, 211, 10, 'Name', '"<a href=[export_vars -base "/intranet-riskmanagement/new" {{form_mode display} risk_id return_url}]>$risk_name</a>"');
insert into im_view_columns (column_id, view_id, sort_order, column_name, column_render_tcl) values
(21120, 211, 20, 'Project', '"<a href=[export_vars -base "/intranet/projects/view" {{project_id $risk_project_id}}]>$risk_project_name</a>"');
insert into im_view_columns (column_id, view_id, sort_order, column_name, column_render_tcl) values
(21125, 211, 25, 'Creator', '"<a href=[export_vars -base "/intranet/users/view" {{user_id $creation_user}}]>$creation_user_name/a>"');
insert into im_view_columns (column_id, view_id, sort_order, column_name, column_render_tcl) values
(21130,211,30,'Type','$risk_type');
insert into im_view_columns (column_id, view_id, sort_order, column_name, column_render_tcl) values
(21140,211,40,'Status','$risk_status');
insert into im_view_columns (column_id, view_id, sort_order, column_name, column_render_tcl) values
(21170,211,70,'Impact','$risk_impact');
insert into im_view_columns (column_id, view_id, sort_order, column_name, column_render_tcl) values
(21180,211,80,'Percent','$risk_probability_percent');
-----------------------------------------------------------
-- Menus
-----------------------------------------------------------
create or replace function inline_0 ()
returns integer as $body$
declare
......
......@@ -34,12 +34,25 @@ ad_proc -public im_risk_action_delete {} { return 75210 }
# ---------------------------------------------------------------------
ad_proc -public im_risk_project_component {
-project_id
{-risk_status_id ""}
{-risk_type_id ""}
{-start_date ""}
{-end_date ""}
{-view_name "im_risk_list_short"}
{-risk_ids "" }
-project_id:required
} {
Returns a HTML component to show all project related risks
} {
set params [list [list project_id $project_id]]
# set project_type_id [db_string ptype "select project_type_id from im_projects where project_id = :project_id" -default ""]
set params [list \
[list project_id $project_id] \
[list risk_status_id $risk_status_id] \
[list risk_type_id $risk_type_id] \
[list start_date $start_date] \
[list end_date $end_date] \
[list view_name $view_name] \
[list risk_ids $risk_ids] \
]
set result [ad_parse_template -params $params "/packages/intranet-riskmanagement/lib/risk-project-component"]
return [string trim $result]
}
......
......@@ -20,9 +20,9 @@ ad_page_contract {
{ risk_ids "" }
{ start_date "" }
{ end_date "" }
{ view_name "im_risk_list_long" }
}
set return_url [im_url_with_query]
set current_user_id [auth::require_login]
set page_title [lang::message::lookup "" intranet-riskmanagement.Risks "Risks"]
......@@ -123,6 +123,7 @@ set params [list \
[list risk_type_id $risk_type_id] \
[list start_date $start_date] \
[list end_date $end_date] \
[list view_name $view_name] \
[list risk_ids $risk_ids] \
[list extra_sql_list [array get extra_sql_array]] \
]
......
......@@ -93,6 +93,7 @@ if {([info exists risk_id])} {
}
set copy_from_risk_name ""
# No support for workflow at the moment
set edit_risk_status_p 1
......@@ -100,7 +101,7 @@ set edit_risk_status_p 1
# Permissions
if {$risk_exists_p} {
db_1row risk_info "select risk_name, risk_type_id from im_risks where risk_id = :risk_id"
db_1row risk_info "select risk_name, risk_project_id, risk_type_id from im_risks where risk_id = :risk_id"
im_risk_permissions $user_id $risk_id view_p read_p write_p admin_p
if {!$read_p} { ad_return_complaint 1 "You don't have permissions to see this risk #$risk_id" }
} else {
......
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