MT 2051 : granular permissions for guided reports
This commit is contained in:
parent
ee0b0fca49
commit
9a43a47755
|
|
@ -1,6 +1,16 @@
|
|||
INSERT INTO permissions (module_bit, code, description) VALUES
|
||||
( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions'),
|
||||
( 1, 'override_renewals', 'Override blocked renewals'),
|
||||
(11, 'vendors_manage', 'Manage vendors'),
|
||||
(11, 'contracts_manage', 'Manage contracts'),
|
||||
(11, 'period_manage', 'Manage periods'),
|
||||
(11, 'budget_manage', 'Manage budgets'),
|
||||
(11, 'budget_modify', 'Modify budget (can''t create lines, but can modify existing ones)'),
|
||||
(11, 'planning_manage', 'Manage budget plannings'),
|
||||
(11, 'order_manage', 'Manage orders & basket'),
|
||||
(11, 'group_manage', 'Manage orders & basketgroups'),
|
||||
(11, 'order_receive', 'Manage orders & basket'),
|
||||
(11, 'budget_add_del', 'Add and delete budgets (but cant modify budgets)'),
|
||||
(13, 'edit_news', 'Write news for the OPAC and staff interfaces'),
|
||||
(13, 'label_creator', 'Create printable labels and barcodes from catalog and patron data'),
|
||||
(13, 'edit_calendar', 'Define days when the library is closed'),
|
||||
|
|
@ -18,15 +28,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES
|
|||
(13, 'schedule_tasks', 'Schedule tasks to run'),
|
||||
(13, 'batchmod', 'Perform batch modification of items'),
|
||||
(13, 'batchdel', 'Perform batch deletion of items'),
|
||||
(13, 'manage_csv_profiles', 'Manage CSV export profiles')
|
||||
(11, 'vendors_manage', 'Manage vendors'),
|
||||
(11, 'contracts_manage', 'Manage contracts'),
|
||||
(11, 'period_manage', 'Manage periods'),
|
||||
(11, 'budget_manage', 'Manage budgets'),
|
||||
(11, 'budget_modify', 'Modify budget (can''t create lines, but can modify existing ones)'),
|
||||
(11, 'planning_manage', 'Manage budget plannings'),
|
||||
(11, 'order_manage', 'Manage orders & basket'),
|
||||
(11, 'group_manage', 'Manage orders & basketgroups'),
|
||||
(11, 'order_receive', 'Manage orders & basket'),
|
||||
(11, 'budget_add_del', 'Add and delete budgets (but cant modify budgets)')
|
||||
(13, 'manage_csv_profiles', 'Manage CSV export profiles'),
|
||||
(16, 'execute_reports', 'Execute SQL reports'),
|
||||
(16, 'create_reports', 'Create SQL Reports')
|
||||
;
|
||||
|
|
|
|||
|
|
@ -3071,6 +3071,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
|
|||
print "Upgrade to $DBversion done (intranetbookbag syspref added)\n";
|
||||
SetVersion ($DBversion);
|
||||
}
|
||||
|
||||
$DBversion = "3.01.00.117";
|
||||
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
|
||||
$dbh->do( qq# ALTER TABLE authorised_values ADD COLUMN `lib_opac` VARCHAR(80) default NULL AFTER `lib` #);
|
||||
|
|
@ -3079,6 +3080,19 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
|
|||
SetVersion ($DBversion);
|
||||
}
|
||||
|
||||
$DBversion = "3.01.00.118";
|
||||
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
|
||||
$dbh->do("
|
||||
INSERT INTO `permissions` (`module_bit`, `code`, `description`) VALUES
|
||||
(16, 'execute_reports', 'Execute SQL reports'),
|
||||
(16, 'create_reports', 'Create SQL Reports')
|
||||
");
|
||||
|
||||
print "Upgrade to $DBversion done (granular permissions for guided reports added)\n";
|
||||
SetVersion ($DBversion);
|
||||
}
|
||||
|
||||
|
||||
|
||||
=item DropAllForeignKeys($table)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<h5>Build and Run Reports</h5>
|
||||
<ul>
|
||||
<li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Build%20new">Build New</a></li>
|
||||
<li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved">Use Saved</a></li>
|
||||
<li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Create%20report%20from%20SQL">Create from SQL</a></li>
|
||||
<!-- TMPL_IF NAME="CAN_user_reports_create_report" --><li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Build%20new">Build New</a></li><!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="CAN_user_reports_execute_report" --><li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved">Use Saved</a></li><!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="CAN_user_reports_create_report" --><li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Create%20report%20from%20SQL">Create from SQL</a></li><!-- /TMPL_IF -->
|
||||
</ul>
|
||||
<h5>Reports Dictionary</h5>
|
||||
<ul>
|
||||
|
|
|
|||
|
|
@ -78,18 +78,24 @@ This feature aims to provide some middle ground between the built in
|
|||
canned reports and writing custom SQL reports.</p>
|
||||
|
||||
<h3>Build And Run Reports</h3>
|
||||
<form action="/cgi-bin/koha/reports/guided_reports.pl">
|
||||
<input type="hidden" name="phase" value="Build new" />
|
||||
<input type="submit" name="submit" value="Build new"/>
|
||||
</form>
|
||||
<!-- TMPL_IF NAME="CAN_user_reports_create_report" -->
|
||||
<form action="/cgi-bin/koha/reports/guided_reports.pl">
|
||||
<input type="hidden" name="phase" value="Use saved"/>
|
||||
<input type="submit" name="submit" value="Use saved"/>
|
||||
<input type="hidden" name="phase" value="Build new" />
|
||||
<input type="submit" name="submit" value="Build new"/>
|
||||
</form>
|
||||
<!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="CAN_user_reports_execute_report" -->
|
||||
<form action="/cgi-bin/koha/reports/guided_reports.pl">
|
||||
<input type="hidden" name="phase" value="Create report from SQL"/>
|
||||
<input type="submit" name="submit" value="Create report from SQL"/>
|
||||
</form>
|
||||
<input type="hidden" name="phase" value="Use saved"/>
|
||||
<input type="submit" name="submit" value="Use saved"/>
|
||||
</form>
|
||||
<!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="CAN_user_reports_create_report" -->
|
||||
<form action="/cgi-bin/koha/reports/guided_reports.pl">
|
||||
<input type="hidden" name="phase" value="Create report from SQL"/>
|
||||
<input type="submit" name="submit" value="Create report from SQL"/>
|
||||
</form>
|
||||
<!-- /TMPL_IF -->
|
||||
<h3>Reports Dictionary</h3>
|
||||
<p>Use the reports dictionary to define custom criteria to use in your reports</p>
|
||||
<form action="/cgi-bin/koha/reports/dictionary.pl">
|
||||
|
|
|
|||
|
|
@ -17,9 +17,9 @@
|
|||
<div class="yui-u first"><h2>Guided Reports</h2>
|
||||
<ul>
|
||||
<li><a href="/cgi-bin/koha/reports/guided_reports.pl">Guided Reports Wizard</a></li>
|
||||
<li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Build%20new">Build New</a></li>
|
||||
<li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved">Use Saved</a></li>
|
||||
<li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Create%20report%20from%20SQL">Create from SQL</a></li>
|
||||
<!-- TMPL_IF NAME="CAN_user_reports_create_report" --><li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Build%20new">Build New</a></li><!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="CAN_user_reports_execute_report" --><li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved">Use Saved</a></li><!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="CAN_user_reports_create_report" --><li><a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Create%20report%20from%20SQL">Create from SQL</a></li><!-- /TMPL_IF -->
|
||||
</ul>
|
||||
|
||||
<h5>Reports Dictionary</h5>
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ my ($template, $borrowernumber, $cookie)
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {reports => 1},
|
||||
flagsrequired => {reports => '*'},
|
||||
debug => 1,
|
||||
});
|
||||
our $sep = $input->param("sep");
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ my ($template, $borrowernumber, $cookie)
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {reports => 1},
|
||||
flagsrequired => {reports => '*'},
|
||||
debug => 1,
|
||||
});
|
||||
our $sep = $input->param("sep");
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ my ($template, $borrowernumber, $cookie)
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {reports => 1},
|
||||
flagsrequired => {reports => '*'},
|
||||
debug => 1,
|
||||
});
|
||||
$template->param(do_it => $do_it,
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ my ($template, $borrowernumber, $cookie)
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {reports=> 1},
|
||||
flagsrequired => {reports => '*'},
|
||||
debug => 1,
|
||||
});
|
||||
$template->param(do_it => $do_it);
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ my ($template, $borrowernumber, $cookie)
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => { reports => 1},
|
||||
flagsrequired => { reports => '*'},
|
||||
debug => 1,
|
||||
});
|
||||
our $sep = $input->param("sep");
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ my ($template, $borrowernumber, $cookie) = get_template_and_user({
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {reports => 1},
|
||||
flagsrequired => {reports => '*'},
|
||||
debug => 1,
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ my ($template, $borrowernumber, $cookie)
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {reports => 1},
|
||||
flagsrequired => {reports => '*'},
|
||||
debug => 1,
|
||||
});
|
||||
$template->param(do_it => $do_it);
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => { reports => 1 },
|
||||
flagsrequired => { reports => '*' },
|
||||
debug => 1,
|
||||
}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -41,19 +41,29 @@ Script to control the guided report creation
|
|||
|
||||
my $input = new CGI;
|
||||
|
||||
my $phase = $input->param('phase');
|
||||
my $flagsrequired;
|
||||
if ( $phase eq 'Build new' ) {
|
||||
$flagsrequired = 'create_report';
|
||||
}
|
||||
elsif ( $phase eq 'Use saved' ) {
|
||||
$flagsrequired = 'execute_report';
|
||||
} else {
|
||||
$flagsrequired = '*';
|
||||
}
|
||||
|
||||
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
|
||||
{
|
||||
template_name => "reports/guided_reports_start.tmpl",
|
||||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => { reports => 1 },
|
||||
flagsrequired => { reports => $flagsrequired },
|
||||
debug => 1,
|
||||
}
|
||||
);
|
||||
|
||||
my @errors = ();
|
||||
my $phase = $input->param('phase');
|
||||
if ( !$phase ) {
|
||||
$template->param( 'start' => 1 );
|
||||
# show welcome page
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ my ($template, $borrowernumber, $cookie)
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {reports => 1},
|
||||
flagsrequired => {reports => '*'},
|
||||
debug => 1,
|
||||
});
|
||||
our $sep = $input->param("sep");
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ my ($template, $borrowernumber, $cookie) = get_template_and_user({
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {reports => 1},
|
||||
flagsrequired => {reports => '*'},
|
||||
debug => 0,
|
||||
});
|
||||
our $sep = $input->param("sep");
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
|||
query => $query,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => { reports => 1 },
|
||||
flagsrequired => { reports => '*' },
|
||||
debug => 1,
|
||||
}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ my ($template, $borrowernumber, $cookie)
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {reports => 1},
|
||||
flagsrequired => {reports => '*'},
|
||||
debug => 1,
|
||||
});
|
||||
$template->param(do_it => $do_it,
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ my ($template, $loggedinuser, $cookie)
|
|||
query => $query,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {reports => 1},
|
||||
flagsrequired => {reports => '*'},
|
||||
debug => 1,
|
||||
});
|
||||
$template->param(intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => { reports => 1 },
|
||||
flagsrequired => { reports => '*' },
|
||||
debug => 1,
|
||||
}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ my ($template, $borrowernumber, $cookie)
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {reports => 1},
|
||||
flagsrequired => {reports => '*'},
|
||||
debug => 1,
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
|||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 1,
|
||||
flagsrequired => { reports => 1 },
|
||||
flagsrequired => { reports => '*' },
|
||||
debug => 1,
|
||||
}
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in New Issue