From 935813e4a2959a0b94933d6b853dd5d129f1a61e Mon Sep 17 00:00:00 2001 From: Niclas Zimmermann Date: Mon, 15 Jul 2013 16:03:23 +0200 Subject: [PATCH] =?utf8?q?Neues=20Recht=20f=C3=BCr=20Anzeige=20von=20Artik?= =?utf8?q?eldetails/-berichten?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 | 1 + bin/mozilla/ic.pl | 19 +++++++++----- bin/mozilla/invoice_io.pl | 2 +- bin/mozilla/io.pl | 2 +- doc/changelog | 7 +++++ locale/de/all | 1 + menu.ini | 6 ++--- .../details_and_report_of_parts.pl | 26 +++++++++++++++++++ templates/webpages/ic/form_footer.html | 4 +++ 9 files changed, 56 insertions(+), 12 deletions(-) create mode 100644 sql/Pg-upgrade2-auth/details_and_report_of_parts.pl diff --git a/SL/Auth.pm b/SL/Auth.pm index 00a4b3bbd..bbf4b32e5 100644 --- a/SL/Auth.pm +++ b/SL/Auth.pm @@ -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")], diff --git a/bin/mozilla/ic.pl b/bin/mozilla/ic.pl index 3434861c1..cfe6451d7 100644 --- a/bin/mozilla/ic.pl +++ b/bin/mozilla/ic.pl @@ -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||; @@ -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) = @_; diff --git a/bin/mozilla/invoice_io.pl b/bin/mozilla/invoice_io.pl index 843a32f68..c69812802 100644 --- a/bin/mozilla/invoice_io.pl +++ b/bin/mozilla/invoice_io.pl @@ -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$/); diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index e7ba050a1..0ca15d4e2 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -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'); } ######################################## diff --git a/doc/changelog b/doc/changelog index 95a0b2ed7..c8ed51289 100644 --- a/doc/changelog +++ b/doc/changelog @@ -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 diff --git a/locale/de/all b/locale/de/all index e0eb2da39..272da98e3 100755 --- a/locale/de/all +++ b/locale/de/all @@ -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', diff --git a/menu.ini b/menu.ini index e72e47a69..5031c98af 100644 --- 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 index 000000000..762d98f99 --- /dev/null +++ b/sql/Pg-upgrade2-auth/details_and_report_of_parts.pl @@ -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; diff --git a/templates/webpages/ic/form_footer.html b/templates/webpages/ic/form_footer.html index 416b54b79..7039131b9 100644 --- a/templates/webpages/ic/form_footer.html +++ b/templates/webpages/ic/form_footer.html @@ -53,6 +53,8 @@ +[%- IF show_edit_buttons %] + @@ -75,6 +77,8 @@ [%- END %] [%- END %] +[%- END %] + [%- IF id != "" %] [%- END %] -- 2.20.1