]> wagnertech.de Git - mfinanz.git/commitdiff
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
authorJan Büren <jan@kivitendo-premium.de>
Thu, 18 Jul 2013 07:09:41 +0000 (09:09 +0200)
committerJan Büren <jan@kivitendo-premium.de>
Thu, 18 Jul 2013 07:09:41 +0000 (09:09 +0200)
SL/Auth.pm
bin/mozilla/ic.pl
bin/mozilla/invoice_io.pl
bin/mozilla/io.pl
doc/changelog
locale/de/all
menus/erp.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..7ff034702805b0e6ec17aad77db1be8b1cddf50b 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$/);
@@ -225,8 +225,8 @@ sub display_form {
       $subroutine = "makemodel_row";
 
       # assemblies are built from components, they aren't purchased from a vendor
-      # also the lastcost_$i from makemodel conflicted with the component lastcost_$i 
-      # so we don't need the makemodel rows for assemblies 
+      # also the lastcost_$i from makemodel conflicted with the component lastcost_$i
+      # so we don't need the makemodel rows for assemblies
       # create makemodel rows
       # &{$subroutine}($numrows);
 
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 51fe49c72ce7ad31f53d3d7d8e8bf5e5a2d30abd..5de8b4293503554b96fcaaf7918156cf1a5f898e 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 04718817f4a7d434f9e77743a50dc879bc3a5ad1..e922e14d300a34dbfe240124318c5a12bf6e9b1a 100755 (executable)
@@ -1845,6 +1845,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 9decadbf7eb0499033b38882437a0def10828dec..b0bff6139632df560f821c53775114edff50ca9b 100644 (file)
@@ -65,19 +65,19 @@ action=CustomerVendor/search_contact
 db=customer
 
 [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 %]