Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision c9e93ded

Von Jan Büren vor fast 15 Jahren hinzugefügt

  • ID c9e93ded8a5ca6f8a9212c5e64a99616889b5aac
  • Vorgänger 87d99e72
  • Nachfolger 6217d70b

Benutzerverwaltung im Bereich Verkauf > Ansicht nur auf eigene Verkaufsdokumente erweitert. Standardmässig bleibt alles wie vorher (Db-Upgrade-Skript was dieses Recht für alle vorhandenen Gruppen setzt) Sobald das Recht für die Gruppe nicht gesetzt wird, wird entsprechend bei den Verkaufsberichten auth>assert('sales_all_edit') auf employee_id geprüft. Bei Stammdaten->Kunden->Lieferung wird zusätzlich auf dieses Recht geprüft

Unterschiede anzeigen:

SL/AR.pm
}
}
if (!$main::auth->assert('sales_all_edit', 1)) {
$where .= " AND a.employee_id = (select id from employee where login= ?)";
push (@values, $form->{login});
}
my @a = qw(transdate invnumber name);
push @a, "employee" if $form->{l_employee};
my $sortdir = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC';
SL/Auth.pm
["sales_delivery_order_edit", $locale->text("Create and edit sales delivery orders")],
["invoice_edit", $locale->text("Create and edit invoices and credit notes")],
["dunning_edit", $locale->text("Create and edit dunnings")],
["sales_all_edit", $locale->text("View/edit all employees sales documents")],
["--ap", $locale->text("AP")],
["request_quotation_edit", $locale->text("Create and edit RFQs")],
["purchase_order_edit", $locale->text("Create and edit purchase orders")],
SL/DO.pm
push @where, "dord.$item = ?";
push @values, conv_i($form->{$item});
}
if (!$main::auth->assert('sales_all_edit', 1)) {
push @where, qq|dord.employee_id = (select id from employee where login= ?)|;
push @values, $form->{login};
}
foreach my $item (qw(donumber ordnumber cusordnumber transaction_description)) {
next unless ($form->{$item});
SL/OE.pm
push(@values, '%' . $form->{$vc} . '%');
}
if (!$main::auth->assert('sales_all_edit', 1)) {
$query .= " AND o.employee_id = (select id from employee where login= ?)";
push @values, $form->{login};
}
if ($form->{employee_id}) {
$query .= " AND o.employee_id = ?";
push @values, conv_i($form->{employee_id});
bin/mozilla/ct.pl
$main::lxdebug->enter_sub();
$main::auth->assert('customer_vendor_edit');
$main::auth->assert('sales_all_edit');
my $form = $main::form;
my %myconfig = %main::myconfig;
locale/de/all
'View License' => 'Lizenz ansehen',
'View SEPA export' => 'SEPA-Export-Details ansehen',
'View warehouse content' => 'Lagerbestand ansehen',
'View/edit all employees sales documents' => 'Bearbeiten/ansehen der Verkaufsdokumente aller Mitarbeiter',
'Von Konto: ' => 'von Konto: ',
'WEBDAV access' => 'WEBDAV-Zugriff',
'WHJournal' => 'Lagerbuchungen',
sql/Pg-upgrade2/auth_enable_sales_all_edit.pl
# @tag: auth_enable_sales_all_edit
# @description: Neues gruppenbezogenes Recht für den Bereich Verkauf hinzugefügt (sales_all_edit := Nur wenn angehakt, können Verkaufsdokumente von anderen Bearbeitern eingesehen werden) Das Skript hakt standardmässig dieses Recht an, sodass es keinen Unterschied zu vorhergehenden Version gibt.
# @depends: release_2_6_0
# @charset: utf-8
use strict;
use Data::Dumper;
die("This script cannot be run from the command line.") unless ($main::form);
sub mydberror {
my ($msg) = @_;
die($dbup_locale->text("Database update error:") .
"<br>$msg<br>" . $DBI::errstr);
}
sub do_query {
my ($query, $may_fail) = @_;
if (!$dbh->do($query)) {
mydberror($query) unless ($may_fail);
$dbh->rollback();
$dbh->begin_work();
}
}
sub do_update {
my @queries;
# do_query("ALTER TABLE project ADD PRIMARY KEY (id);", 1);
# map({ do_query($_, 0); } @queries);
# print "hieryy";
# print (Dumper($main::form));
my $dbh = $main::auth->dbconnect();
my $query = qq|SELECT distinct group_id from auth.user_group|;
my $sth_all_groups = prepare_execute_query($form, $dbh, $query);
while (my $hash_ref = $sth_all_groups->fetchrow_hashref()) { # Schleife
push @queries, "INSERT INTO auth.group_rights (group_id, \"right\", granted) VALUES (" . $hash_ref->{group_id} . ", 'sales_all_edit', 't')";
}
# if in doubt use brute force ;-) jb
foreach my $query (@queries){
# print "hier:" . $query;
my $dbh = $main::auth->dbconnect();
my $sth = prepare_query($form, $dbh, $query);
do_statement($form,$sth,$query);
$sth->finish();
$dbh ->commit();
}
return 1;
}
return do_update();

Auch abrufbar als: Unified diff