kivitendo/SL/InstanceState.pm @ a72a4c89
1dc7c77a | Bernd Bleßmann | package SL::InstanceState;
|
|
use strict;
|
|||
use SL::DB::Manager::Employee;
|
|||
use parent qw(Rose::Object);
|
|||
sub has_employee_project_invoices {
|
|||
!!@{SL::DB::Manager::Employee->current->project_invoice_permissions};
|
|||
}
|
|||
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
|