Browse Source

MT 2051 : granular permissions for guided reports

3.2.x
Matthias Meusburger 15 years ago
committed by Henri-Damien LAURENT
parent
commit
9a43a47755
  1. 24
      installer/data/mysql/en/mandatory/userpermissions.sql
  2. 14
      installer/data/mysql/updatedatabase.pl
  3. 6
      koha-tmpl/intranet-tmpl/prog/en/includes/guided-reports-view.inc
  4. 22
      koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tmpl
  5. 6
      koha-tmpl/intranet-tmpl/prog/en/modules/reports/reports-home.tmpl
  6. 2
      reports/acquisitions_stats.pl
  7. 2
      reports/bor_issues_top.pl
  8. 2
      reports/borrowers_out.pl
  9. 2
      reports/borrowers_stats.pl
  10. 2
      reports/cat_issues_top.pl
  11. 2
      reports/catalogue_out.pl
  12. 2
      reports/catalogue_stats.pl
  13. 2
      reports/dictionary.pl
  14. 14
      reports/guided_reports.pl
  15. 2
      reports/issues_avg_stats.pl
  16. 2
      reports/issues_stats.pl
  17. 2
      reports/itemslost.pl
  18. 2
      reports/manager.pl
  19. 2
      reports/reports-home.pl
  20. 2
      reports/reservereport.pl
  21. 2
      reports/serials_stats.pl
  22. 2
      reports/stats.screen.pl

24
installer/data/mysql/en/mandatory/userpermissions.sql

@ -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')
;

14
installer/data/mysql/updatedatabase.pl

@ -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)

6
koha-tmpl/intranet-tmpl/prog/en/includes/guided-reports-view.inc

@ -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>

22
koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tmpl

@ -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"/>
<!-- TMPL_IF NAME="CAN_user_reports_create_report" -->
<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 -->
<!-- TMPL_IF NAME="CAN_user_reports_execute_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="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>
<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">

6
koha-tmpl/intranet-tmpl/prog/en/modules/reports/reports-home.tmpl

@ -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>

2
reports/acquisitions_stats.pl

@ -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");

2
reports/bor_issues_top.pl

@ -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");

2
reports/borrowers_out.pl

@ -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,

2
reports/borrowers_stats.pl

@ -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);

2
reports/cat_issues_top.pl

@ -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");

2
reports/catalogue_out.pl

@ -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,
});

2
reports/catalogue_stats.pl

@ -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);

2
reports/dictionary.pl

@ -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,
}
);

14
reports/guided_reports.pl

@ -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

2
reports/issues_avg_stats.pl

@ -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");

2
reports/issues_stats.pl

@ -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");

2
reports/itemslost.pl

@ -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,
}
);

2
reports/manager.pl

@ -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,

2
reports/reports-home.pl

@ -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"),

2
reports/reservereport.pl

@ -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,
}
);

2
reports/serials_stats.pl

@ -57,7 +57,7 @@ my ($template, $borrowernumber, $cookie)
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => {reports => 1},
flagsrequired => {reports => '*'},
debug => 1,
});

2
reports/stats.screen.pl

@ -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…
Cancel
Save