]> wagnertech.de Git - kivitendo-erp.git/commitdiff
Recht für Anzeige der Produktivität
authorNiclas Zimmermann <niclas@kivitendo-premium.de>
Fri, 7 Jun 2013 11:38:06 +0000 (13:38 +0200)
committerNiclas Zimmermann <niclas@kivitendo-premium.de>
Mon, 10 Jun 2013 11:20:15 +0000 (13:20 +0200)
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.

SL/Auth.pm
bin/mozilla/fu.pl
bin/mozilla/login.pl
bin/mozilla/todo.pl
doc/changelog
locale/de/all
menu.ini
sql/Pg-upgrade2/productivity_rights.pl [new file with mode: 0644]

index 3ef2660656e758c3dcdc67df10b96b7ada8ec64b..23a9771e702d1f0e8065542564988ad1d498fb2a 100644 (file)
@@ -1060,6 +1060,8 @@ sub all_rights_full {
     ["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;
index 3b5adb230597532b2842b0d675714eef13b4c44a..ef80a73cd4077919cd11a3c0135f194097cc4ea3 100644 (file)
@@ -10,6 +10,8 @@ use strict;
 sub _collect_links {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $dest = shift;
 
   my $form     = $main::form;
@@ -28,6 +30,8 @@ sub _collect_links {
 sub add {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
@@ -57,6 +61,8 @@ sub add {
 sub edit {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -82,6 +88,8 @@ sub edit {
 sub display_form {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
 
   $form->get_lists("employees" => "EMPLOYEES");
@@ -102,6 +110,8 @@ sub display_form {
 sub save_follow_up {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -139,6 +149,8 @@ sub save_follow_up {
 sub finish {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -175,6 +187,8 @@ sub finish {
 sub delete {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -211,6 +225,8 @@ sub delete {
 sub search {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -228,6 +244,8 @@ sub search {
 sub report {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
@@ -340,6 +358,8 @@ sub report {
 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);
@@ -379,6 +399,8 @@ sub report_for_todo_list {
 sub edit_access_rights {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -399,6 +421,8 @@ sub edit_access_rights {
 sub save_access_rights {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -427,6 +451,8 @@ sub continue {
 }
 
 sub save {
+  $main::auth->assert('productivity');
+
   if ($main::form->{save_nextsub}) {
     call_sub($main::form->{save_nextsub});
   } else {
index caf49c44ef8a994bc81b27433d7632b97c8086bb..7971c2da890a58b53e6d0b57d1a4fe1aab280218 100644 (file)
@@ -46,7 +46,7 @@ sub company_logo {
   $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');
index c50d44d5ecc84f678933ecafffba00058225be0a..9e5ce01979268381335082ad08764fa0d6fd50df 100644 (file)
@@ -34,6 +34,8 @@ use strict;
 sub create_todo_list {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
 
   my %params   = @_;
@@ -62,6 +64,8 @@ sub create_todo_list {
 sub show_todo_list {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   my $form     = $main::form;
   my $locale   = $main::locale;
 
@@ -77,6 +81,8 @@ sub show_todo_list {
 sub todo_list_follow_ups {
   $main::lxdebug->enter_sub();
 
+  $main::auth->assert('productivity');
+
   require "bin/mozilla/fu.pl";
 
   my $content = report_for_todo_list();
@@ -89,6 +95,8 @@ sub todo_list_follow_ups {
 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();
index 653765338f0b10f10b3fd3b59f47b7600f07d703..99b035cdde6a2dad93e2a6e4ec0354bc484c623e 100644 (file)
@@ -30,6 +30,14 @@ Größere neue Features:
 
 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,
index a36239bd3d5a39b9052c61b205a234ee871e8e3a..d1422f6b893c1d925bb50c6e852a35d7e4a9b8b1 100755 (executable)
@@ -1810,6 +1810,7 @@ $self->{texts} = {
   '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&auml;&szlig;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?',
index a974868bce7c63e8fd723504a609ba12c9968b2b..f066039dceca1b65eef54444695181a6de30750d 100644 (file)
--- a/menu.ini
+++ b/menu.ini
@@ -476,6 +476,7 @@ type=receipt
 
 
 [Productivity]
+ACCESS=productivity
 
 [Productivity--Show TODO list]
 module=todo.pl
@@ -704,6 +705,7 @@ module=am.pl
 action=config
 
 [Program--Administration area]
+ACCESS=display_admin_link
 module=admin.pl
 action=login
 
diff --git a/sql/Pg-upgrade2/productivity_rights.pl b/sql/Pg-upgrade2/productivity_rights.pl
new file mode 100644 (file)
index 0000000..4dd0270
--- /dev/null
@@ -0,0 +1,27 @@
+# @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;