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".
["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")],
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
sub generate_report {
$lxdebug->enter_sub();
- $auth->assert('part_service_assembly_edit');
+ $auth->assert('part_service_assembly_details');
my ($revers, $lastsort, $description);
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>|;
sub link_part {
$lxdebug->enter_sub();
- $auth->assert('part_service_assembly_edit');
+ $auth->assert('part_service_assembly_details');
IC->create_links("IC", \%myconfig, \%$form);
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;
# 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();
}
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');
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});
sub price_row {
$lxdebug->enter_sub();
- $auth->assert('part_service_assembly_edit');
+ $auth->assert('part_service_assembly_details');
my ($numrows) = @_;
$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$/);
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');
}
########################################
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
'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',
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
--- /dev/null
+# @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;
</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 %]">
[%- END %]
[%- END %]
+[%- END %]
+
[%- IF id != "" %]
<input type="button" class="submit" onclick="set_history_window([% id %]);" name="history" id="history" value="[% 'history' | $T8 %]">
[%- END %]