Changing the reports call for pentaho

This commit is contained in:
mifoscontributer 2013-09-17 21:04:07 +05:30
parent c7e79b7da6
commit 28fc48e081
5 changed files with 17 additions and 51 deletions

View File

@ -13,11 +13,12 @@
scope.reportData = {};
scope.reportData.columnHeaders = [];
scope.reportData.data = [];
scope.baseURL="#";
scope.baseURL="";
scope.reportName = routeParams.name;
scope.reportType = routeParams.type;
scope.pentahoReportDetail=[];
scope.reportId = routeParams.reportId;
scope.pentahoReportParameters = [];
resourceFactory.runReportsResource.getReport({reportSource: 'FullParameterList', parameterType : true, R_reportListing: "'"+routeParams.name+"'"}, function(data){
@ -44,44 +45,8 @@
});
if (scope.reportType == 'Pentaho') {
resourceFactory.runReportsResource.getReport({reportSource: 'FullReportDetails', parameterType : true, R_reportName: routeParams.name}, function(data){
var prevId = -1;
var currId;
var tmpParameters;
for (var i in data.data )
{
currId = data.data[i].row[0]
if (currId != prevId)
{
tmpParameters = [];
if (!(data.data[i].row[5] == null))
{
tmpParam = [];
tmpParam.push(data.data[i].row[6]);
tmpParam.push(data.data[i].row[7]);
tmpParameters.push(tmpParam);
}
tmpRow = {
id: data.data[i].row[0],
name: data.data[i].row[1],
type: data.data[i].row[2],
subtype: data.data[i].row[3],
category: data.data[i].row[4],
parameters: tmpParameters
}
scope.pentahoReportDetail.push(tmpRow);
prevId = currId;
}
else
{
tmpParam = [];
tmpParam.push(data.data[i].row[6]);
tmpParam.push(data.data[i].row[7]);
scope.pentahoReportDetail[(scope.pentahoReportDetail.length - 1)].parameters.push(tmpParam);
}
}
resourceFactory.reportsResource.get({id:scope.reportId, fields:'reportParameters'}, function(data){
scope.pentahoReportParameters = data.reportParameters || [];
});
}
@ -144,15 +109,13 @@
var reportParams = "";
for (var i = 0; i < scope.reqFields.length; i++) {
var reqField = scope.reqFields[i];
for (var j = 0; j < scope.pentahoReportDetail.length; j++) {
var tempParam = scope.pentahoReportDetail[j];
for (var k = 0; k < tempParam.parameters.length; k++) {
if (reqField.name == tempParam.parameters[k][1]) {
var paramName = "R_"+tempParam.parameters[k][0];
if (paramCount > 1) reportParams += "&"
reportParams += encodeURIComponent(paramName) + "=" + encodeURIComponent(scope.formData[scope.reqFields[i].inputName]);
paramCount = paramCount + 1;
}
for (var j = 0; j < scope.pentahoReportParameters.length; j++) {
var tempParam = scope.pentahoReportParameters[j];
if (reqField.name == tempParam.parameterName) {
var paramName = "R_"+tempParam.reportParameterName;
if (paramCount > 1) reportParams += "&"
reportParams += encodeURIComponent(paramName) + "=" + encodeURIComponent(scope.formData[scope.reqFields[i].inputName]);
paramCount = paramCount + 1;
}
}
}

View File

@ -11,7 +11,7 @@
templateUrl: 'views/home.html'
})
.when('/products', {
templateUrl: 'views/products/home.html'
templateUrl: 'views/products/products.html'
})
.when('/admin/roles', {
templateUrl: 'views/administration/roles.html'

View File

@ -50,6 +50,9 @@
get: {method: 'GET', params: {}, isArray:true},
getReport: {method: 'GET', params: {}}
}),
reportsResource: defineResource(apiVer + "/reports/:id", {id:'@id'}, {
get: {method: 'GET', params: {id:'@id'}}
}),
DataTablesResource: defineResource(apiVer + "/datatables/:datatablename/:clientId", {datatablename:'@datatablename',clientId:'@clientId'}, {
getAllDataTables: {method: 'GET', params: {}, isArray:true},
getTableDetails: {method: 'GET', params: {}}

View File

@ -13,7 +13,7 @@
</thead>
<tbody>
<tr ng-repeat="report in reports | filter:filterText">
<td><a href="#/run_report/{{report.report_name}}?type={{report.report_type}}">{{report.report_name}}</a></td>
<td><a href="#/run_report/{{report.report_name}}?reportId={{report.report_id}}&type={{report.report_type}}">{{report.report_name}}</a></td>
<td>{{report.report_type}}</td>
<td>{{report.report_category}}</td>
</tr>