include form parameters in sql report download link
This commit is contained in:
parent
3dbde9ff3f
commit
29f2018b6f
3 changed files with 188 additions and 3 deletions
|
|
@ -31,6 +31,7 @@
|
|||
- fix: SQLReport templatable download doesn't run nested queries
|
||||
- fix: Edit branch copies hide from navigation setting from events and posts to rest of branch
|
||||
- Dashboard now shows default view if user hasn't configured their own view
|
||||
- fix: SQL Report download link doesn't include form parameters
|
||||
|
||||
7.4.5
|
||||
- fix: Apostrophy incorrectly escaped as double quote in some places
|
||||
|
|
|
|||
161
docs/upgrades/templates-7.4.6/sqlreport.tmpl
Normal file
161
docs/upgrades/templates-7.4.6/sqlreport.tmpl
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
#PBtmpl0000000000000059
|
||||
<a name="id<tmpl_var assetId>" id="id<tmpl_var assetId>"></a>
|
||||
|
||||
<tmpl_if session.var.adminOn>
|
||||
<p><tmpl_var controls></p>
|
||||
</tmpl_if>
|
||||
|
||||
<tmpl_if displayTitle>
|
||||
<h2><tmpl_var title></h2>
|
||||
</tmpl_if>
|
||||
|
||||
<tmpl_if description>
|
||||
<tmpl_var description>
|
||||
<p />
|
||||
</tmpl_if>
|
||||
|
||||
<tmpl_if canDownload>
|
||||
<a href="<tmpl_var downloadLink>">Download this data</a>
|
||||
</tmpl_if>
|
||||
|
||||
<tmpl_if debugMode>
|
||||
<ul>
|
||||
<tmpl_loop debug_loop>
|
||||
<li><tmpl_var debug.output></li>
|
||||
</tmpl_loop>
|
||||
</ul>
|
||||
</tmpl_if>
|
||||
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border: 1px solid black;">
|
||||
<tr>
|
||||
<tmpl_loop columns_loop>
|
||||
<td class="tableHeader"><tmpl_var column.name></td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
<tmpl_loop rows_loop>
|
||||
<tr>
|
||||
<tmpl_loop row.field_loop>
|
||||
<td class="tableData"><tmpl_var field.value></td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
<!-- Handle nested query2 -->
|
||||
<tmpl_if hasNest>
|
||||
<tr>
|
||||
<td colspan="<tmpl_var columns.count>">
|
||||
<table width="100%" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td width="20"> </td>
|
||||
<td>
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border: 1px solid black;">
|
||||
<tr>
|
||||
<tmpl_loop query2.columns_loop>
|
||||
<td class="tableHeader"><tmpl_var column.name></td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
<tmpl_loop query2.rows_loop>
|
||||
<tr>
|
||||
<tmpl_loop query2.row.field_loop>
|
||||
<td class="tableData"><tmpl_var field.value></td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
<!-- Handle nested query3 -->
|
||||
<tmpl_if query2.hasNest>
|
||||
<tr>
|
||||
<td colspan="<tmpl_var query2.columns.count>">
|
||||
<table width="100%" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="width:20px;"> </td>
|
||||
<td>
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border: 1px solid black;">
|
||||
<tr>
|
||||
<tmpl_loop query3.columns_loop>
|
||||
<td class="tableHeader"><tmpl_var column.name></td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
<tmpl_loop query3.rows_loop>
|
||||
<tr>
|
||||
<tmpl_loop query3.row.field_loop>
|
||||
<td class="tableData"><tmpl_var field.value></td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
<!-- Handle nested query4 -->
|
||||
<tmpl_if query3.hasNest>
|
||||
<tr>
|
||||
<td colspan="<tmpl_var query3.columns.count>">
|
||||
<table width="100%" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="width:20px;"> </td>
|
||||
<td>
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border: 1px solid black;">
|
||||
<tr>
|
||||
<tmpl_loop query4.columns_loop>
|
||||
<td class="tableHeader"><tmpl_var column.name></td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
<tmpl_loop query4.rows_loop>
|
||||
<tr>
|
||||
<tmpl_loop query4.row.field_loop>
|
||||
<td class="tableData"><tmpl_var field.value></td>
|
||||
</tmpl_loop>
|
||||
<!-- Handle nested query5 -->
|
||||
<tmpl_if query4.hasNest>
|
||||
<tr>
|
||||
<td colspan="<tmpl_var query4.columns.count>">
|
||||
<table width="100%" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td style="width:20px;"> </td>
|
||||
<td>
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border: 1px solid black;">
|
||||
<tr>
|
||||
<tmpl_loop query5.columns_loop>
|
||||
<td class="tableHeader"><tmpl_var column.name></td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
<tmpl_loop query5.rows_loop>
|
||||
<tr>
|
||||
<tmpl_loop query5.row.field_loop>
|
||||
<td class="tableData"><tmpl_var field.value></td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
</tmpl_loop>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tmpl_if>
|
||||
</tr>
|
||||
</tmpl_loop>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tmpl_if>
|
||||
</tmpl_loop>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tmpl_if>
|
||||
</tmpl_loop>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tmpl_if>
|
||||
</tmpl_loop>
|
||||
</table>
|
||||
|
||||
<tmpl_if pagination.pageCount.isMultiple>
|
||||
<div class="pagination">
|
||||
<tmpl_var pagination.previousPage> <tmpl_var pagination.pageList.upTo20> <tmpl_var pagination.nextPage>
|
||||
</div>
|
||||
</tmpl_if>
|
||||
|
||||
|
|
@ -477,10 +477,12 @@ sub view {
|
|||
#use Data::Dumper; return '<pre>'.Dumper($var).'</pre>';
|
||||
|
||||
# Add the "Download data" link if the user is allowed to download
|
||||
$var->{'canDownload'} = 1
|
||||
if ($self->getValue("downloadType") ne "none"
|
||||
if ($self->getValue("downloadType") ne "none"
|
||||
&& $self->session->user->isInGroup($self->getValue("downloadUserGroup"))
|
||||
);
|
||||
) {
|
||||
$var->{'canDownload'} = 1;
|
||||
$var->{'downloadLink'} = $self->_getDownloadLink($self);
|
||||
}
|
||||
|
||||
my $out = $self->processTemplate($var,undef,$self->{_viewTemplate});
|
||||
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
|
||||
|
|
@ -489,6 +491,27 @@ sub view {
|
|||
return $out;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
# Create download link be adding all the passed in parameters and values to the url
|
||||
sub _getDownloadLink {
|
||||
my $self = shift;
|
||||
my %params;
|
||||
for my $nr (1 .. 5) {
|
||||
foreach my $row (split(/\n/,$self->{_query}{$nr}{placeholderParams})) {
|
||||
$row =~ s/^\s+//;
|
||||
$row =~ s/\s+$//;
|
||||
if ($row =~ /^form:(.*)/) {
|
||||
$params{$1} ||= $self->session->form->param($1);
|
||||
}
|
||||
}
|
||||
}
|
||||
my $url = "func=download";
|
||||
for my $param (sort keys %params) {
|
||||
$url .= ";$param=" . $self->session->url->escape($params{$param});
|
||||
}
|
||||
return $self->getUrl($url);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub _storeQueries {
|
||||
my $self = shift;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue