kivitendo/SL/InstanceState.pm @ e1938585
1dc7c77a | Bernd Bleßmann | package SL::InstanceState;
|
||
use strict;
|
||||
use SL::DB::Manager::Employee;
|
||||
use parent qw(Rose::Object);
|
||||
sub has_employee_project_invoices {
|
||||
1d95e0f7 | Bernd Bleßmann | SL::DB::Manager::Employee->current && @{SL::DB::Manager::Employee->current->project_invoice_permissions};
|
||
1dc7c77a | Bernd Bleßmann | }
|
||
1;
|
||||
__END__
|
||||
=pod
|
||||
=encoding utf8
|
||||
=head1 NAME
|
||||
SL::InstanceState - Provides instance-specific status information
|
||||
=head1 SYNOPSIS
|
||||
While instance configuration settings are provided via C<SL::InstanceConf>,
|
||||
this module provides non-configuration information of the instance.
|
||||
The intention is to use the state information in the menu, e.g. to enable
|
||||
or disable some menu entries if some condition is met.
|
||||
Example: If a user has no right to see invoices, the menu entry for this report
|
||||
was shown anyway, because the user may has the right to access project invoices.
|
||||
Now, the display of the menu entry can be made dependent on the status.
|
||||
See C<SL::Menu>.
|
||||
=head1 FUNCTIONS
|
||||
=over 4
|
||||
=item C<has_employee_project_invoices>
|
||||
Returns trueish if the current employee has the right to access
|
||||
some project invoices.
|
||||
=back
|
||||
=head1 TODO
|
||||
As for now, no global instance of this class is provided. If this information
|
||||
should be used in e.g. templates or some other programm code, then a global
|
||||
instance may should be provided.
|
||||
=head1 BUGS
|
||||
none so far
|
||||
=head1 AUTHOR
|
||||
Bernd Bleßmann E<lt>bernd@kivitendo-premium.deE<gt>
|
||||
=cut
|