]> wagnertech.de Git - kivitendo-erp.git/commitdiff
Neues Recht für Anzeige von Artikeldetails/-berichten
authorNiclas Zimmermann <niclas@kivitendo-premium.de>
Mon, 15 Jul 2013 14:03:23 +0000 (16:03 +0200)
committerNiclas Zimmermann <niclas@kivitendo-premium.de>
Thu, 18 Jul 2013 07:29:08 +0000 (09:29 +0200)
Statt nur ein Recht für die Bearbeitung von Artikeln zu haben, das gleichzeitig auch das Recht
für die Anzeige von Details und Berichten über Artikel umfasst, wurde nun ein neues Recht eingeführt.
Das alte Recht "Artikel, Dienstleistungen, Erzeugnisse erfassen und bearbeiten" wurde also in zwei
Rechte aufgeteilt, nämlich "Artikel, Dienstleistungen, Erzeugnisse erfassen und bearbeiten" und
"Details und Berichte von Waren, Dienstleistungen und Erzeugnissen anzeigen".

SL/Auth.pm
bin/mozilla/ic.pl
bin/mozilla/invoice_io.pl
bin/mozilla/io.pl
doc/changelog
locale/de/all
menu.ini
sql/Pg-upgrade2-auth/details_and_report_of_parts.pl [new file with mode: 0644]
templates/webpages/ic/form_footer.html

index 00a4b3bbd6295c3cb945f2b2e2d02c8681064832..bbf4b32e5ec16027fa9e6695e9a8da35d1440958 100644 (file)
@@ -1050,6 +1050,7 @@ sub all_rights_full {
     ["customer_vendor_edit",           $locale->text("Create customers and vendors. Edit all vendors. Edit only customers where salesman equals employee (login)")],
     ["customer_vendor_all_edit",       $locale->text("Create customers and vendors. Edit all vendors. Edit all customers")],
     ["part_service_assembly_edit",     $locale->text("Create and edit parts, services, assemblies")],
+    ["part_service_assembly_details",  $locale->text("Show details and reports of parts, services, assemblies")],
     ["project_edit",                   $locale->text("Create and edit projects")],
     ["--ar",                           $locale->text("AR")],
     ["sales_quotation_edit",           $locale->text("Create and edit sales quotations")],
index 3434861c128366af5604344e5d3912f3a54f21c5..cfe6451d7e1ba88caf1886f2fd43e0d2c1fdef39 100644 (file)
@@ -94,7 +94,7 @@ sub add {
 sub search {
   $lxdebug->enter_sub();
 
-  $auth->assert('part_service_assembly_edit');
+  $auth->assert('part_service_assembly_details');
 
   $form->{revers}       = 0;  # switch for backward sorting
   $form->{lastsort}     = ""; # memory for which table was sort at last time
@@ -1009,7 +1009,7 @@ sub addtop100 {
 sub generate_report {
   $lxdebug->enter_sub();
 
-  $auth->assert('part_service_assembly_edit');
+  $auth->assert('part_service_assembly_details');
 
   my ($revers, $lastsort, $description);
 
@@ -1461,7 +1461,7 @@ sub parts_subtotal {
 sub edit {
   $lxdebug->enter_sub();
 
-  $auth->assert('part_service_assembly_edit');
+  $auth->assert('part_service_assembly_details');
 
   # show history button
   $form->{javascript} = qq|<script type="text/javascript" src="js/show_history.js"></script>|;
@@ -1482,7 +1482,7 @@ sub edit {
 sub link_part {
   $lxdebug->enter_sub();
 
-  $auth->assert('part_service_assembly_edit');
+  $auth->assert('part_service_assembly_details');
 
   IC->create_links("IC", \%myconfig, \%$form);
 
@@ -1572,7 +1572,7 @@ sub link_part {
 sub form_header {
   $lxdebug->enter_sub();
 
-  $auth->assert('part_service_assembly_edit');
+  $auth->assert('part_service_assembly_details');
 
   $form->{pg_keys}          = sub { "$_[0]->{partsgroup}--$_[0]->{id}" };
   $form->{description_area} = ($form->{rows} = $form->numtextrows($form->{description}, 40)) > 1;
@@ -1624,6 +1624,9 @@ sub form_header {
   #                                                     BUCHUNGSGRUPPEN   => $form->{BUCHUNGSGRUPPEN},
   #                                                     payment_terms     => $form->{payment_terms},
   #                                                     all_partsgroup    => $form->{all_partsgroup}});
+
+  $form->{show_edit_buttons} = $main::auth->check_right($form->{login}, 'part_service_assembly_edit');
+
   print $form->parse_html_template('ic/form_header');
   $lxdebug->leave_sub();
 }
@@ -1631,7 +1634,7 @@ sub form_header {
 sub form_footer {
   $lxdebug->enter_sub();
 
-  $auth->assert('part_service_assembly_edit');
+  $auth->assert('part_service_assembly_details');
 
   print $form->parse_html_template('ic/form_footer');
 
@@ -1766,6 +1769,8 @@ sub assembly_row {
 sub update {
   $lxdebug->enter_sub();
 
+  $auth->assert('part_service_assembly_edit');
+
   # parse pricegroups. and no, don't rely on check_form for this...
   map { $form->{"price_$_"} = $form->parse_amount(\%myconfig, $form->{"price_$_"}) } 1 .. $form->{price_rows};
   $form->{sellprice} = $form->parse_amount(\%myconfig, $form->{sellprice});
@@ -2031,7 +2036,7 @@ sub delete {
 sub price_row {
   $lxdebug->enter_sub();
 
-  $auth->assert('part_service_assembly_edit');
+  $auth->assert('part_service_assembly_details');
 
   my ($numrows) = @_;
 
index 843a32f689ea29735d29581eb9461065b97f154c..c6981280220299be4343f6ee5027333773af5ec3 100644 (file)
@@ -146,7 +146,7 @@ sub display_form {
 
   $main::auth->assert('part_service_assembly_edit   | vendor_invoice_edit       | sales_order_edit    | invoice_edit |' .
                 'request_quotation_edit       | sales_quotation_edit      | purchase_order_edit | '.
-                'purchase_delivery_order_edit | sales_delivery_order_edit');
+                'purchase_delivery_order_edit | sales_delivery_order_edit | part_service_assembly_details');
 
   relink_accounts();
   retrieve_partunits() if ($form->{type} =~ /_delivery_order$/);
index e7ba050a1d515efb8195726ae5406f0a9642d26f..0ca15d4e26e465f7b507df7ca621a2aea86c8de8 100644 (file)
@@ -103,7 +103,7 @@ use Data::Dumper;
 sub _check_io_auth {
   $main::auth->assert('part_service_assembly_edit   | vendor_invoice_edit       | sales_order_edit    | invoice_edit |' .
                 'request_quotation_edit       | sales_quotation_edit      | purchase_order_edit | ' .
-                'purchase_delivery_order_edit | sales_delivery_order_edit');
+                'purchase_delivery_order_edit | sales_delivery_order_edit | part_service_assembly_details');
 }
 
 ########################################
index 95a0b2ed7b62fc70f6be097af662d9e14f842981..c8ed51289672a3ba6ce0816e4a1c56600b5cfe1d 100644 (file)
@@ -39,6 +39,13 @@ Größere neue Features:
 
 Kleinere neue Features und Detailverbesserungen:
 
+- Recht für die Anzeige von Details und Berichte von Waren, Dienstleistungen und Erzeugnissen
+  Statt nur ein Recht für die Bearbeitung von Artikeln zu haben, das gleichzeitig auch das Recht
+  für die Anzeige von Details und Berichten über Artikel umfasst, wurde nun ein neues Recht eingeführt.
+  Das alte Recht "Artikel, Dienstleistungen, Erzeugnisse erfassen und bearbeiten" wurde also in zwei
+  Rechte aufgeteilt, nämlich "Artikel, Dienstleistungen, Erzeugnisse erfassen und bearbeiten" und
+  "Details und Berichte von Waren, Dienstleistungen und Erzeugnissen anzeigen".
+
 - 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
index e0eb2da3993fdc9f84337f9598f6b93a6d8b6428..272da98e3cbcb065b0ee0c8d0aa4c7ac5a242426 100755 (executable)
@@ -1822,6 +1822,7 @@ $self->{texts} = {
   'Show delete button in sales delivery orders?' => 'Soll der "Löschen"-Knopf bei Verkaufslieferscheinen angezeigt werden?',
   'Show delete button in sales orders?' => 'Soll der "Löschen"-Knopf bei Kundenaufträgen angezeigt werden?',
   'Show details'                => 'Detailsanzeige',
+  'Show details and reports of parts, services, assemblies' => 'Details und Berichte von Waren, Dienstleistungen und Erzeugnissen anzeigen',
   'Show fields used for the best before date?' => 'Felder zur Eingabe des Mindesthaltbarkeitsdatums anzeigen?',
   'Show follow ups...'          => 'Zeige Wiedervorlagen...',
   'Show help text'              => 'Hilfetext anzeigen',
index e72e47a69670d909f0b2140728b19f71bdc86ef3..5031c98afe286685c5d011dbb751187e7a7d1352 100644 (file)
--- a/menu.ini
+++ b/menu.ini
@@ -64,19 +64,19 @@ module=ct.pl
 action=search_contact
 
 [Master Data--Reports--Parts]
-ACCESS=part_service_assembly_edit
+ACCESS=part_service_assembly_details
 module=ic.pl
 action=search
 searchitems=part
 
 [Master Data--Reports--Services]
-ACCESS=part_service_assembly_edit
+ACCESS=part_service_assembly_details
 module=ic.pl
 action=search
 searchitems=service
 
 [Master Data--Reports--Assemblies]
-ACCESS=part_service_assembly_edit
+ACCESS=part_service_assembly_details
 module=ic.pl
 action=search
 searchitems=assembly
diff --git a/sql/Pg-upgrade2-auth/details_and_report_of_parts.pl b/sql/Pg-upgrade2-auth/details_and_report_of_parts.pl
new file mode 100644 (file)
index 0000000..762d98f
--- /dev/null
@@ -0,0 +1,26 @@
+# @tag: details_and_report_of_parts
+# @description: Setzt das Recht zur Anzeige von Details und Berichten von Waren, Dienstleistungen und Erzeugnissen
+# @depends: release_3_0_0
+package SL::DBUpgrade2::details_and_report_of_parts;
+
+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}->{part_service_assembly_details} = $group->{rights}->{part_service_assembly_edit};
+    $main::auth->save_group($group);
+  }
+
+  return 1;
+} # end run
+
+1;
index 416b54b79c0d3e758e337779df1666ef60079c9b..7039131b9cfefdccafd450d7b900f5317fc943b1 100644 (file)
@@ -53,6 +53,8 @@
 
 </div>
 
+[%- IF show_edit_buttons %]
+
 <input class="submit" type="submit" name="action" value="[% 'Update' | $T8 %]">
 <input type="hidden" name="price_rows" value="[% HTML.escape(price_rows) %]">
 <input class="submit" type="submit" name="action" value="[% 'Save' | $T8 %]">
@@ -75,6 +77,8 @@
     [%- END %]
   [%- END %]
 
+[%- END %]
+
   [%- IF id != "" %]
 <input type="button" class="submit" onclick="set_history_window([% id %]);" name="history" id="history" value="[% 'history' | $T8 %]">
   [%- END %]