Commit 6b3d884d authored by cvs2svn's avatar cvs2svn

This commit was manufactured by cvs2svn to create branch 'b4-1-1-patches'.

Sprout from po 2015-06-23 07:01:39 UTC Frank Bergmann  <frank.bergmann@project-open.com> 'Initial Import'
Cherrypick from master 2015-11-22 07:52:38 UTC Frank Bergmann  <frank.bergmann@project-open.com> '-- minor improvements':
    intranet-trans-project-feedback.info
    lib/graph-panel.adp
    lib/graph-panel.tcl
    lib/survey-component.tcl
    sql/postgresql/intranet-trans-project-feedback-create.sql
    sql/postgresql/intranet-trans-project-feedback-drop.sql
parent d0622c20
Pipeline #509 failed with stages
......@@ -15,6 +15,12 @@
<owner>mailto:frank.bergmann@project-open.com</owner>
<summary>Managing and evaluate feedback on Translation Projects</summary>
<vendor url="www.project-open.com">Project Open Business Solutions S.L.</vendor>
<provides url="sencha-core" version="4.1.0.0.0"/>
<requires url="sencha-extjs-v421" version="4.1.0.0.0"/>
<requires url="simple-survey" version="0.4"/>
<requires url="intranet-simple-survey" version="4.1.0.0.0"/>
<description format="text/html">Provides a portlet to track feedback on Translation Projects plus some graphs and reports </description>
<maturity>0</maturity>
......
......@@ -11,7 +11,15 @@ Ext.onReady(function () {
// STORES
//
var translationProjectFeedbackNonComformityStore = Ext.create('Ext.data.Store', {
// ////////////////////////////////////////////////
// CHART TYPES
//
<if @chart_type@ eq "column_chart">
var translationProjectFeedbackNonConformityStore = Ext.create('Ext.data.Store', {
fields: [
{ name: 'first_day_period', type: 'string'},
{ name: 'number_projects', type: 'int'},
......@@ -34,33 +42,6 @@ Ext.onReady(function () {
}
});
var translationProjectFeedbackNonComformityProportionStore = Ext.create('Ext.data.Store', {
fields: [
{ name: 'choice', type: 'string' },
{ name: 'count', type: 'int'}
],
autoLoad: true,
proxy: {
type: 'rest',
url: '/intranet-reporting/view', // This is the generic ]po[ REST interface
extraParams: {
format: 'json', // Ask for data in JSON format
limit: @diagram_limit@, // Limit the number of returned rows
report_code: '@diagram_report_code@', // The code of the data-source to retreive
start_date: '@start_date@',
end_date: '@end_date@',
period: '@period@'
},
reader: { type: 'json', root: 'data' } // Standard reader: Data are prefixed by "data".
}
});
// ////////////////////////////////////////////////
// CHART TYPES
//
<if @chart_type@ eq "column_chart">
var ticketAgingChart = new Ext.chart.Chart({
xtype: 'chart',
width: @diagram_width@,
......@@ -98,6 +79,14 @@ Ext.onReady(function () {
style: {
opacity: 0.80
},
label: {
display: 'outside',
'text-anchor': 'middle',
field: ['number_projects', 'number_projects_non_conform'],
renderer: Ext.util.Format.numberRenderer('0'),
// orientation: 'horizontal',
color: '#333'
},
tips: {
trackMouse: false,
width: @diagram_tooltip_width@,
......@@ -112,6 +101,27 @@ Ext.onReady(function () {
</if>
<elseif @chart_type@ eq "pie_chart">
var translationProjectFeedbackNonConformityProportionStore = Ext.create('Ext.data.Store', {
fields: [
{ name: 'category', type: 'string' },
{ name: 'count', type: 'int'}
],
autoLoad: true,
proxy: {
type: 'rest',
url: '/intranet-reporting/view', // This is the generic ]po[ REST interface
extraParams: {
format: 'json', // Ask for data in JSON format
limit: @diagram_limit@, // Limit the number of returned rows
report_code: '@diagram_report_code@', // The code of the data-source to retreive
start_date: '@start_date@',
end_date: '@end_date@',
period: '@period@'
},
reader: { type: 'json', root: 'data' } // Standard reader: Data are prefixed by "data".
}
});
chart = new Ext.chart.Chart({
width: @diagram_width@,
height: @diagram_height@,
......@@ -134,16 +144,16 @@ Ext.onReady(function () {
}
},
label: {
field: 'choice',
field: 'category',
display: 'rotate',
contrast: true,
font: '11px "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',
renderer: function(val, label, storeItem, item, i, display, animate, index) {
var sumNonComformityProjects = translationProjectFeedbackNonComformityProportionStore.sum('count');
// console.log('sumNonComformityProjects:' + sumNonComformityProjects);
var sumNonConformityProjects = translationProjectFeedbackNonConformityProportionStore.sum('count');
// console.log('sumNonConformityProjects:' + sumNonConformityProjects);
// console.log('val:' + val);
// console.log('count:' + storeItem.get('count'));
var ret = (parseFloat(storeItem.get('count') / sumNonComformityProjects) * 100.0).toFixed(2) + '%';
var ret = (parseFloat(storeItem.get('count') / sumNonConformityProjects) * 100.0).toFixed(2) + '%';
return ret + ' ' + val.substring(0,20);
}
},
......@@ -155,6 +165,29 @@ Ext.onReady(function () {
<elseif @chart_type@ eq "line_chart">
var translationProjectFeedbackNonConformityStore = Ext.create('Ext.data.Store', {
fields: [
{ name: 'first_day_period', type: 'string'},
{ name: 'number_projects', type: 'int'},
{ name: 'number_projects_non_conform', type: 'int'},
{ name: 'percentage_non_conform', type: 'int'}
],
autoLoad: true,
proxy: {
type: 'rest',
url: '/intranet-reporting/view', // This is the generic ]po[ REST interface
extraParams: {
format: 'json', // Ask for data in JSON format
limit: @diagram_limit@, // Limit the number of returned rows
report_code: '@diagram_report_code@', // The code of the data-source to retreive
start_date: '@start_date@',
end_date: '@end_date@',
period: '@period@'
},
reader: { type: 'json', root: 'data' } // Standard reader: Data are prefixed by "data".
}
});
chart = new Ext.chart.Chart({
renderTo: @diagram_id@,
width: @diagram_width@,
......
......@@ -35,13 +35,35 @@ set package_url "/simple-survey"
set report_code_found_p 1
if ![info exists return_url] { set return_url "/intranet-trans-project-feedback/dashboard" }
# Set dynamic width
set num_days [db_string get_number_days "select '$end_date'::date - '$start_date'::date" -default 0]
switch $period {
month {
set data_points_horiz [expr $num_days / 30]
}
quarter {
set data_points_horiz [expr $num_days / 120]
}
year {
set data_points_horiz [expr $num_days / 365]
}
default {
set data_points_horiz 0
}
}
set data_points_horiz [format "%.2f" [expr {double(round(100*$data_points_horiz))/100}]]
# Determine size based on number od datapoints found
if { $data_points_horiz < 7 } { set diagram_width 500} else { set diagram_width 1000 }
# Set Report Code
switch $title {
"Non Comformity" {
set store "translationProjectFeedbackNonComformityStore"
"Non Conformity" {
set store "translationProjectFeedbackNonConformityStore"
set chart_type "column_chart"
set diagram_report_code "translation_project_feedback_non_comformity"
if {![info exists diagram_width] || "" == $diagram_width} { set diagram_width 600 }
set diagram_report_code "translation_project_feedback_non_conformity"
if {![info exists diagram_height] || "" == $diagram_height } { set diagram_height 350 }
if {![info exists diagram_font] || "" == $diagram_font} { set diagram_font "10px Helvetica, sans-serif" }
if {![info exists diagram_theme] || "" == $diagram_theme} { set diagram_theme "Custom" }
......@@ -51,26 +73,30 @@ switch $title {
if {![info exists diagram_tooltip_height] || "" == $diagram_tooltip_height} { set diagram_tooltip_height 20 }
if {![info exists diagram_legend_width] || "" == $diagram_legend_width} { set diagram_legend_width 150 }
if {![info exists diagram_title] || "" == $diagram_title} { set diagram_title [lang::message::lookup "" intranet-trans-project-feedback.$title $title] }
set diagram_id "translation_project_feedback_non_comformity"
set diagram_id "translation_project_feedback_non_conformity"
}
"Non-Comformity - Proportions" {
set store "translationProjectFeedbackNonComformityProportionStore"
"Non Conformity - Proportions" {
set store "translationProjectFeedbackNonConformityProportionStore"
set chart_type "pie_chart"
set diagram_report_code "translation_project_feedback_non_comformity_proportions"
if {![info exists diagram_limit] || "" == $diagram_limit} { set diagram_limit 100 }
if {![info exists diagram_width] || "" == $diagram_width} { set diagram_width 800 }
if {![info exists diagram_height] || "" == $diagram_height } { set diagram_height 350 }
set diagram_id "translation_project_feedback_non_comformity_proportions"
set diagram_report_code "translation_project_feedback_non_conformity_proportions"
if {![info exists diagram_limit] || "" == $diagram_limit} { set diagram_limit 100 }
# if {![info exists diagram_width] || "" == $diagram_width} { set diagram_width 350 }
# if {![info exists diagram_height] || "" == $diagram_height } { set diagram_height 350 }
set diagram_width 1000
set diagram_height 300
set diagram_id "translation_project_feedback_non_conformity_proportions"
}
"Conformity vs Non-Comformity" {
"Conformity vs Non-Conformity" {
if {![info exists diagram_font] || "" == $diagram_font} { set diagram_font "10px Helvetica, sans-serif" }
set store "translationProjectFeedbackNonComformityStore"
set store "translationProjectFeedbackNonConformityStore"
set chart_type "line_chart"
set diagram_report_code "translation_project_feedback_non_comformity"
set diagram_report_code "translation_project_feedback_non_conformity"
if {![info exists diagram_limit] || "" == $diagram_limit} { set diagram_limit 100 }
if {![info exists diagram_width] || "" == $diagram_width} { set diagram_width 600 }
if {![info exists diagram_height] || "" == $diagram_height } { set diagram_height 350 }
set diagram_id "translation_project_feedback_comformity_vs_non_comformity"
set diagram_id "translation_project_feedback_conformity_vs_non_conformity"
}
default {
set report_code_found_p 0
......
......@@ -67,7 +67,8 @@ if {$single_response_p == "t"} {
set button_label "Submit response"
set edit_previous_response_p "f"
} else {
set button_label "Modify submited response"
# Review label
set button_label "Submit response"
set edit_previous_response_p "t"
}
set previous_responses_link ""
......
......@@ -14,8 +14,10 @@
--
-- @author klaus.hofeditz@project-open.com
-- Create table for inquiries
-- --------------------------------------------------------------------------------------------------------------------------
-- Create Survey & Questions
-- --------------------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE FUNCTION inline_0 ()
RETURNS INTEGER AS $BODY$
......@@ -52,8 +54,8 @@ end;$BODY$ LANGUAGE 'plpgsql';
SELECT inline_0 ();
DROP FUNCTION inline_0 ();
CREATE OR REPLACE FUNCTION inline_0 ()
-- Create Questions
CREATE OR REPLACE FUNCTION inline_1 ()
RETURNS INTEGER AS $BODY$
declare
......@@ -63,6 +65,17 @@ declare
v_question_id integer;
begin
select count(*) into v_count
from survsimp_question_choices
where
label = 'CC - Client Complaint'
OR label = 'NC - Issue but no client complaint'
OR label = 'YAY - No issue';
IF 3 = v_count THEN
return 0;
END IF;
select survey_id into v_survey_id from survsimp_surveys where name = 'Project Translation Feedback';
select acs_object__new (null, 'survsimp_question') into v_question_id;
......@@ -80,7 +93,6 @@ begin
'below' --new__presentation_alignment
);
select survsimp_choice_id_sequence.nextval into v_next_choice_id from dual;
insert into survsimp_question_choices (choice_id, question_id, label, sort_order) values (v_next_choice_id, v_question_id, 'CC - Client Complaint' ,1);
......@@ -93,8 +105,8 @@ begin
return 0;
end;$BODY$ LANGUAGE 'plpgsql';
SELECT inline_0 ();
DROP FUNCTION inline_0 ();
SELECT inline_1 ();
DROP FUNCTION inline_1 ();
CREATE OR REPLACE FUNCTION inline_0 ()
......@@ -107,6 +119,18 @@ declare
v_question_id integer;
begin
select count(*) into v_count
from survsimp_question_choices
where
label = 'TC - Issue with translator delivery resulting in late client delivery'
OR label = 'LIH - Late Inhouse. Late delivery due to inhouse issues'
OR label = 'IHP - Inhouse proofreading issues (typos, numbers, etc.)'
OR label = 'TTI - Translator Terminology inaccurate, text does not read well in target Language';
IF 4 = v_count THEN
return 0;
END IF;
select survey_id into v_survey_id from survsimp_surveys where name = 'Project Translation Feedback';
select acs_object__new (null, 'survsimp_question') into v_question_id;
......@@ -124,7 +148,6 @@ begin
'below' --new__presentation_alignment
);
select survsimp_choice_id_sequence.nextval into v_next_choice_id from dual;
insert into survsimp_question_choices (choice_id, question_id, label, sort_order) values (v_next_choice_id, v_question_id, 'TC - Issue with translator delivery resulting in late client delivery' ,1);
......@@ -154,6 +177,15 @@ declare
v_question_id integer;
begin
select count(*) into v_count
from survsimp_questions
where
question_text = 'Corrective Action';
IF 1 = v_count THEN
return 0;
END IF;
select survey_id into v_survey_id from survsimp_surveys where name = 'Project Translation Feedback';
select acs_object__new (null, 'survsimp_question') into v_question_id;
......@@ -186,6 +218,16 @@ declare
v_question_id integer;
begin
select count(*) into v_count
from
survsimp_questions
where
question_text = 'Preventive Action';
IF 1 = v_count THEN
return 0;
END IF;
select survey_id into v_survey_id from survsimp_surveys where name = 'Project Translation Feedback';
select acs_object__new (null, 'survsimp_question') into v_question_id;
......@@ -256,7 +298,7 @@ SELECT inline_0 ();
DROP FUNCTION inline_0 ();
-- GRAPHS: Non-Comformity
-- GRAPHS: Non-Conformity
CREATE OR REPLACE FUNCTION inline_0 ()
RETURNS INTEGER AS $BODY$
......@@ -276,14 +318,14 @@ begin
null, -- creation_user
null, -- creation_ip
null, -- context_id
'Non-Comformity', -- plugin_name
'Non-Conformity', -- plugin_name
'intranet-trans-project-feedback', -- package_name
'left', -- location
'bottom', -- location
'/intranet-trans-project-feedback/dashboard', -- page_url
null, -- view_name
200, -- sort_order
'im_project_translation_graph_panel "Non Comformity" "Column" $start_date $end_date $period',
'lang::message::lookup "" intranet-trans-project-feedback.NonComformity "Non-Comformity"'
'im_project_translation_graph_panel "Non Conformity" $start_date $end_date $period',
'lang::message::lookup "" intranet-trans-project-feedback.NonConformity "Non-Conformity"'
into v_plugin_id);
PERFORM im_grant_permission(v_plugin_id, v_employees, 'read');
......@@ -295,7 +337,7 @@ SELECT inline_0 ();
DROP FUNCTION inline_0 ();
-- Non-Comformity - Proportions
-- Non-Conformity - Proportions
CREATE OR REPLACE FUNCTION inline_0 ()
RETURNS INTEGER AS $BODY$
......@@ -315,14 +357,14 @@ begin
null, -- creation_user
null, -- creation_ip
null, -- context_id
'Non-Comformity - Proportions', -- plugin_name
'Non-Conformity - Proportions', -- plugin_name
'intranet-trans-project-feedback', -- package_name
'left', -- location
'bottom', -- location
'/intranet-trans-project-feedback/dashboard', -- page_url
null, -- view_name
200, -- sort_order
'im_project_translation_graph_panel "Non Comformity - Proportions" $start_date $end_date $period',
'lang::message::lookup "" intranet-trans-project-feedback.NonComformityPercentage "Non-Comformity - Percentage"'
'im_project_translation_graph_panel "Non Conformity - Proportions" $start_date $end_date $period',
'lang::message::lookup "" intranet-trans-project-feedback.NonConformityProportions "Non-Conformity - Proportions"'
into v_plugin_id);
PERFORM im_grant_permission(v_plugin_id, v_employees, 'read');
......@@ -335,7 +377,7 @@ DROP FUNCTION inline_0 ();
-- Non-Comformity - Percentage
-- Non-Conformity - Percentage
CREATE OR REPLACE FUNCTION inline_0 ()
RETURNS INTEGER AS $BODY$
......@@ -355,14 +397,14 @@ begin
null, -- creation_user
null, -- creation_ip
null, -- context_id
'Non-Comformity - Percentage', -- plugin_name
'Non-Conformity - Percentage', -- plugin_name
'intranet-trans-project-feedback', -- package_name
'left', -- location
'bottom', -- location
'/intranet-trans-project-feedback/dashboard', -- page_url
null, -- view_name
200, -- sort_order
'im_project_translation_graph_panel "Non Comformity - Percentage" $start_date $end_date $period',
'lang::message::lookup "" intranet-trans-project-feedback.NonComformityPercentage "Non-Comformity - Percentage"'
'im_project_translation_graph_panel "Non Conformity - Percentage" $start_date $end_date $period',
'lang::message::lookup "" intranet-trans-project-feedback.NonConformityPercentage "Non-Conformity - Percentage"'
into v_plugin_id);
PERFORM im_grant_permission(v_plugin_id, v_employees, 'read');
......@@ -374,7 +416,7 @@ SELECT inline_0 ();
DROP FUNCTION inline_0 ();
-- Non-Comformity - Type
-- Non-Conformity - Type
CREATE OR REPLACE FUNCTION inline_0 ()
RETURNS INTEGER AS $BODY$
......@@ -394,14 +436,14 @@ begin
null, -- creation_user
null, -- creation_ip
null, -- context_id
'Comformity vs. Non-Comformity', -- plugin_name
'Conformity vs. Non-Conformity', -- plugin_name
'intranet-trans-project-feedback', -- package_name
'left', -- location
'bottom', -- location
'/intranet-trans-project-feedback/dashboard', -- page_url
null, -- view_name
200, -- sort_order
'im_project_translation_graph_panel "Conformity vs Non-Comformity" $start_date $end_date $period',
'lang::message::lookup "" intranet-trans-project-feedback.NonComformityType "Non-Comformity - Type"'
'im_project_translation_graph_panel "Conformity vs Non-Conformity" $start_date $end_date $period',
'lang::message::lookup "" intranet-trans-project-feedback.ConformityVSNonConformity "Conformity vs Non-Conformity"'
into v_plugin_id);
PERFORM im_grant_permission(v_plugin_id, v_employees, 'read');
......@@ -416,7 +458,7 @@ DROP FUNCTION inline_0 ();
-- REST Data-Source for the report
-- -----------------------------------------------------------------------------------------------------------------------
-- Non-Comformity Main Report
-- Non-Conformity Main Report
create or replace function inline_0 ()
returns integer as $body$
DECLARE
......@@ -426,19 +468,19 @@ DECLARE
foo integer;
BEGIN
SELECT count(*) INTO v_count
FROM im_reports where report_code = 'translation_project_feedback_non_comformity';
FROM im_reports where report_code = 'translation_project_feedback_non_conformity';
IF v_count > 0 THEN return 1; END IF;
SELECT im_report_new (
'REST Non-Comformity', -- report_name
'translation_project_feedback_non_comformity', -- report_code
'REST Non-Conformity', -- report_name
'translation_project_feedback_non_conformity', -- report_code
'intranet-trans-project-feedback', -- package_key
1000, -- report_sort_order
(select menu_id from im_menus where label = 'reporting-rest'), -- parent_menu_id
''
) into v_report_id;
update im_reports set report_description = 'Shows Total number of projects sampled vs. Projects with issues' where report_code = 'translation_project_feedback_non_comformity';
update im_reports set report_description = 'Shows Total number of projects sampled vs. Projects with issues' where report_code = 'translation_project_feedback_non_conformity';
update
im_reports
......@@ -472,13 +514,18 @@ BEGIN
where
start_date::date = im_day_enumerator::date
and parent_id is null
and project_id in (
select distinct sr.related_object_id
from survsimp_responses sr, survsimp_surveys ss
where ss.name = ''Project Translation Feedback'' and ss.survey_id = sr.survey_id
)
) as number_projects,
(select count(*) from (
select distinct on (related_object_id)
r.related_object_id
from
im_projects p,
survsimp_responses r,
(select distinct on (related_object_id) * from survsimp_responses order by related_object_id, response_id DESC) r,
survsimp_question_responses qr,
survsimp_surveys s,
survsimp_questions q
......@@ -490,8 +537,13 @@ BEGIN
and q.survey_id = s.survey_id
and (q.question_text = ''Sub Type'' or q.question_text = ''Type'')
and q.question_id = qr.question_id
and qr.choice_id is not null
and qr.choice_id in (select choice_id from survsimp_question_choices where label <> ''YAY - No issue'')
and p.start_date::date = im_day_enumerator::date
and p.project_id in (
select distinct sr.related_object_id
from survsimp_responses sr, survsimp_surveys ss
where ss.name = ''Project Translation Feedback'' and ss.survey_id = sr.survey_id
)
group by
r.related_object_id
) p) as number_projects_non_conform
......@@ -500,12 +552,14 @@ BEGIN
) s
) t
group by
t._%period%;
t._%period%
order by
t._%period%;
'
where
report_code = 'translation_project_feedback_non_comformity';
report_code = 'translation_project_feedback_non_conformity';
SELECT acs_permission__grant_permission( (select menu_id from im_menus where label = 'translation_project_feedback_non_comformity'), (select group_id from groups where group_name = 'Employees'), 'read') into foo;
SELECT acs_permission__grant_permission( (select menu_id from im_menus where label = 'translation_project_feedback_non_conformity'), (select group_id from groups where group_name = 'Employees'), 'read') into foo;
return 0;
end;$body$ language 'plpgsql';
......@@ -513,7 +567,7 @@ SELECT inline_0 ();
drop function inline_0 ();
-- Non-Comformity - Proportions
-- Non-Conformity - Proportions
create or replace function inline_0 ()
returns integer as $body$
DECLARE
......@@ -523,29 +577,34 @@ DECLARE
foo integer;
BEGIN
SELECT count(*) INTO v_count
FROM im_reports where report_code = 'translation_project_feedback_non_comformity_proportions';
FROM im_reports where report_code = 'translation_project_feedback_non_conformity_proportions';
IF v_count > 0 THEN
RAISE NOTICE 'Report w/ code: translation_project_feedback_non_comformity_proportions already exists, skipped creation';
RAISE NOTICE 'Report w/ code: translation_project_feedback_non_conformity_proportions already exists, skipped creation';
return 1;
END IF;
SELECT im_report_new (
'REST Non-Comformity (Proportions)', -- report_name
'translation_project_feedback_non_comformity_proportions', -- report_code
'intranet-trans-project-feedback', -- package_key
'REST Non-Conformity (Proportions)', -- report_name
'translation_project_feedback_non_conformity_proportions', -- report_code
'intranet-trans-project-feedback', -- package_key
1000, -- report_sort_order
(select menu_id from im_menus where label = 'reporting-rest'), -- parent_menu_id
''
) into v_report_id;
update im_reports set report_description = 'Shows Total number of projects sampled vs. Projects with issues' where report_code = 'translation_project_feedback_non_comformity_proportions';
update im_reports set report_description = 'Shows Total number of projects sampled vs. Projects with issues' where report_code = 'translation_project_feedback_non_conformity_proportions';
update
im_reports
set
report_sql = '
select
im_category_from_id(choice_id) as category,
CASE qr.choice_id is null
WHEN true THEN
''None''
ELSE
(select label from survsimp_question_choices where choice_id = qr.choice_id)
END as category,
count(*)
from
(
......@@ -564,19 +623,23 @@ BEGIN
and r.related_object_id = p.project_id
and r.response_id = qr.response_id
and q.survey_id = s.survey_id
and (q.question_text = ''Sub Type'')
and q.question_text = ''Sub Type''
and q.question_id = qr.question_id
and qr.choice_id is not null
and p.start_date::date between ''%start_date%''::date and ''%end_date%''::date
and p.parent_id is null
and project_id in (
select distinct sr.related_object_id
from survsimp_responses sr, survsimp_surveys ss
where ss.name = ''Project Translation Feedback'' and ss.survey_id = sr.survey_id
)
group by
choice_id;
'
where
report_code = 'translation_project_feedback_non_comformity_proportions';
report_code = 'translation_project_feedback_non_conformity_proportions';
SELECT acs_permission__grant_permission( (select menu_id from im_menus where label = 'translation_project_feedback_non_comformity_proportions'), (select group_id from groups where group_name = 'Employees'), 'read') into foo;
SELECT acs_permission__grant_permission( (select menu_id from im_menus where label = 'translation_project_feedback_non_conformity_proportions'), (select group_id from groups where group_name = 'Employees'), 'read') into foo;
return 0;
end;$body$ language 'plpgsql';
......
......@@ -58,5 +58,45 @@ DROP FUNCTION inline_0 ();
-- Delete REST reports
delete from im_reports where report_code = 'translation-project-feedback-non-comformity';
delete from im_reports where report_code = 'translation_project_feedback_non_comformity_proportions';
delete from im_reports where report_code = 'translation-project-feedback-non-conformity';
delete from im_reports where report_code = 'translation_project_feedback_non_conformity_proportions';
-- delete component
CREATE OR REPLACE FUNCTION inline_0 ()
RETURNS INTEGER AS $BODY$
declare
v_plugin_id integer;
v_employees integer;
foo integer;
begin
select group_id into v_employees from groups where group_name = 'Employees';
select plugin_id into v_plugin_id from im_component_plugins where plugin_name = 'Project Translation Feedback' limit 1;
select im_revoke_permission(v_plugin_id, v_employees, 'read') into foo;
select im_component_plugin__delete(v_plugin_id) into foo;
select plugin_id into v_plugin_id from im_component_plugins where plugin_name = 'Non-Conformity' limit 1;
select im_revoke_permission(v_plugin_id, v_employees, 'read') into foo;
select im_component_plugin__delete(v_plugin_id) into foo;
select plugin_id into v_plugin_id from im_component_plugins where plugin_name = 'Non-Conformity - Proportions' limit 1;
select im_revoke_permission(v_plugin_id, v_employees, 'read') into foo;
select im_component_plugin__delete(v_plugin_id) into foo;
select plugin_id into v_plugin_id from im_component_plugins where plugin_name = 'Non-Conformity - Percentage' limit 1;
select im_revoke_permission(v_plugin_id, v_employees, 'read') into foo;
select im_component_plugin__delete(v_plugin_id) into foo;
select plugin_id into v_plugin_id from im_component_plugins where plugin_name = 'Conformity vs. Non-Conformity' limit 1;
select im_revoke_permission(v_plugin_id, v_employees, 'read') into foo;
select im_component_plugin__delete(v_plugin_id) into foo;
return 0;
end;$BODY$ LANGUAGE 'plpgsql';
SELECT inline_0 ();
DROP FUNCTION inline_0 ();
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