Um die Produktivität einzusehen, ist jetzt ein Recht erforderlich.
Standardmäßig wird dieses Recht gegeben, um den gleichen Zustand
wie vor dem Commit zu garantieren.
Weiterhin gibt es nun auch das Recht für Anzeige des Administrationslinks
im Menü-Punkt Programme.
Das Upgrade-Script sorgt dafür, dass die Rechte weiterhin gelten,
weil sie vorher ja jeder User hatte.
Der Commit enthält auch den Changelog-Eintrag für diese Änderung.
Implementiert #2290.
["email_bcc", $locale->text("May set the BCC field when sending emails")],
["config", $locale->text("Change kivitendo installation settings (all menu entries beneath 'System')")],
["admin", $locale->text("Administration (Used to access instance administration from user logins)")],
+ ["productivity", $locale->text("Productivity")],
+ ["display_admin_link", $locale->text("Show administration link")],
);
return @all_rights;
sub _collect_links {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $dest = shift;
my $form = $main::form;
sub add {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
sub edit {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my $locale = $main::locale;
sub display_form {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
$form->get_lists("employees" => "EMPLOYEES");
sub save_follow_up {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my $locale = $main::locale;
sub finish {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my $locale = $main::locale;
sub delete {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my $locale = $main::locale;
sub search {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my $locale = $main::locale;
sub report {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
sub report_for_todo_list {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my @report_params = qw(created_for subject body reference follow_up_date_from follow_up_date_to itime_from itime_to due_only all_users done not_done);
sub edit_access_rights {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my $locale = $main::locale;
sub save_access_rights {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my $locale = $main::locale;
}
sub save {
+ $main::auth->assert('productivity');
+
if ($main::form->{save_nextsub}) {
call_sub($main::form->{save_nextsub});
} else {
$main::lxdebug->enter_sub();
my %myconfig = %main::myconfig;
- $form->{todo_list} = create_todo_list('login_screen' => 1) if (!$form->{no_todo_list});
+ $form->{todo_list} = create_todo_list('login_screen' => 1) if (!$form->{no_todo_list}) and ($main::auth->check_right($form->{login}, 'productivity'));
$form->{stylesheet} = $myconfig{stylesheet};
$form->{title} = $::locale->text('kivitendo');
sub create_todo_list {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my %params = @_;
sub show_todo_list {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
my $form = $main::form;
my $locale = $main::locale;
sub todo_list_follow_ups {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
require "bin/mozilla/fu.pl";
my $content = report_for_todo_list();
sub todo_list_overdue_sales_quotations {
$main::lxdebug->enter_sub();
+ $main::auth->assert('productivity');
+
require "bin/mozilla/oe.pl";
my $content = report_for_todo_list();
Kleinere neue Features und Detailverbesserungen:
+- Recht für Produktivität und für Anzeige des Links zum Administrationsmenü
+ Man kann den gesamten Produktivitätsbereich jetzt nur noch nutzen, wenn man die entsprechenden Rechte hat.
+ Auch der Link Unter dem Menü-Punkt Programm zum Administrationsmenü wird jetzt nur noch
+ angezeigt, wenn man entsprechendes Recht hat.
+ Durch ein Upgrade wird allerdings bei schon bestehenden Benutzern automatisch die oben genannten beiden Rechte
+ gesetzt, so dass alle die Produktivität vorher nutzen durften auch weiterhin nutzen dürfen, bzw. so dass
+ bei allen, bei denen der Link auf das Admin-Menü angezeigt wurde, er auch weiterhin angezeigt wird.
+
- Stückliste für Lieferschein ausdrucken
Stücklisten-Details (Haken bei Warenliste) für Erzeugnisse wurden seit 2009
(TEMPLATE_ARRAY Änderung) nicht mehr ausgedruckt,
'Show Salesman' => 'Verkäufer anzeigen',
'Show TODO list' => 'Aufgabenliste anzeigen',
'Show Transfer via default' => 'Ein- / Auslagern über Standardlagerplatz anzeigen',
+ 'Show administration link' => 'Link zur Administration anzeigen',
'Show by default' => 'Standardmäßig anzeigen',
'Show custom variable search inputs' => 'Suchoptionen für Benutzerdefinierte Variablen verstecken',
'Show delete button in purchase delivery orders?' => 'Soll der "Löschen"-Knopf bei Einkaufslieferscheinen angezeigt werden?',
[Productivity]
+ACCESS=productivity
[Productivity--Show TODO list]
module=todo.pl
action=config
[Program--Administration area]
+ACCESS=display_admin_link
module=admin.pl
action=login
--- /dev/null
+# @tag: productivity_rights
+# @description: Setzt das Recht die Produktivität einzusehen und das Recht den Link zum Admin-Menü anzuzeigen wieder wie vorher
+# @depends: release_3_0_0
+package SL::DBUpgrade2::productivity_rights;
+
+use strict;
+use utf8;
+
+use parent qw(SL::DBUpgrade2::Base);
+
+use SL::DBUtils;
+
+sub run {
+ my ($self) = @_;
+
+ my $groups = $main::auth->read_groups();
+
+ foreach my $group (values %{$groups}) {
+ $group->{rights}->{productivity} = 1 unless defined $group->{rights}->{productivity};
+ $group->{rights}->{display_admin_link} = 1 unless defined $group->{rights}->{display_admin_link};
+ $main::auth->save_group($group);
+ }
+
+ return 1;
+} # end run
+
+1;