Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 4f50aaa5

Von Jan Büren vor etwa 13 Jahren hinzugefügt

  • ID 4f50aaa53044225294e14002bd4170513d224d64
  • Vorgänger 385ffe49
  • Nachfolger d934ce36

Recht hinzugefügt: Nur eigene Kunden (Verkäufer gleich Mitarbeiter) editieren

Zusätzliches Recht alle Kunden / Lieferanten editieren, war bisher standardmäßig IMMER so und kann jetzt deaktiviert werden.
Falls es deaktiviert wird, kann man den Kunden / Lieferanten nur editieren wenn man selber als Verkäufer eingetragen ist.

Unterschiede anzeigen:

SL/Auth.pm
["crm_notices", $locale->text("CRM notices")],
["crm_other", $locale->text("CRM other")],
["--master_data", $locale->text("Master Data")],
["customer_vendor_edit", $locale->text("Create and edit customers and vendors")],
["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")],
["project_edit", $locale->text("Create and edit projects")],
["--ar", $locale->text("AR")],
SL/CT.pm
push(@values, conv_i($form->{business_id}));
}
# Nur Kunden finden, bei denen ich selber der Verkäufer bin
# Gilt nicht für Lieferanten
if ($cv eq 'customer' && !$main::auth->assert('customer_vendor_all_edit', 1)) {
$where .= qq| AND ct.salesman_id = (select id from employee where login= ?)|;
push(@values, $form->{login});
}
my ($cvar_where, @cvar_values) = CVar->build_filter_query('module' => 'CT',
'trans_id_field' => 'ct.id',
'filter' => $form);
doc/changelog
- Mastertemplates für den Ausdruck sind in eigene Unterverzeichnisse gewandert.
Dadurch wird das Hinzufügen neuer Vorlagensätze einfacher.
- Zwei Rechterweiterung für 'eingeschränktere' Vertriebspartnerfunktion
Schreibschutz für Preise in Angebot und Suchfunktion in Stammdaten Kunden nur für Mitarbeiter freigeben, die auch
gleichzeitig als Verkäufer für den Kunden eingetragen sind. Rechtebeschreibung im Admin-Menü wie folgt:
* Preise und Rabatt in Formularen frei anpassen (falls deaktiviert,
wird allerdings NUR das textfield auf READONLY gesetzt / kann je nach Browserversion und technischen Fähigkeiten des Anwenders umgangen werden).
* Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten. Nur Kunden bearbeiten bei denen der Verkäufer gleich Bearbeiter (login) ist
Kleinere neue Features und Detailverbesserungen:
- á (LATIN SMALL LETTER A WITH ACUTE) wird in Latex-Vorlagen nicht mehr durch
locale/de/all
'Create a new payment term' => 'Neue Zahlungsbedingungen anlegen',
'Create a standard group' => 'Eine Standard-Benutzergruppe anlegen',
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten',
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten',
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten',
'Create and edit invoices and credit notes' => 'Rechnungen und Gutschriften erfassen und bearbeiten',
'Create and edit parts, services, assemblies' => 'Artikel, Dienstleistungen, Erzeugnisse erfassen und bearbeiten',
......
'Create bank collection via SEPA XML' => 'Bankeinzug via SEPA XML erstellen',
'Create bank transfer' => 'Überweisung erstellen',
'Create bank transfer via SEPA XML' => 'Überweisung via SEPA XML erzeugen',
'Create customers and vendors. Edit all vendors. Edit all customers' => 'Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten. Alle Kunden bearbeiten',
'Create customers and vendors. Edit all vendors. Edit only customers where salesman equals employee (login)' => 'Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten. Nur Kunden bearbeiten bei denen der Verkäufer gleich Bearbeiter (login) ist',
'Create invoice?' => 'Rechnung erstellen?',
'Create new' => 'Neu erfassen',
'Create new business' => 'Kunden-/Lieferantentyp erfassen',
......
'Edit membership' => 'Mitgliedschaft bearbeiten',
'Edit note' => 'Notiz bearbeiten',
'Edit payment term' => 'Zahlungsbedingungen bearbeiten',
'Edit prices and discount (if not used, textfield is ONLY set readonly)' => 'Preise und Rabatt in Formularen frei anpassen (falls deaktiviert, wird allerdings NUR das textfield auf READONLY gesetzt / kann je nach Browserversion und technischen Fähigkeiten des Anwenders noch gehackt werden).',
'Edit prices and discount (if not used, textfield is ONLY set readonly)' => 'Preise und Rabatt in Formularen frei anpassen (falls deaktiviert, wird allerdings NUR das textfield auf READONLY gesetzt / kann je nach Browserversion und technischen Fähigkeiten des Anwenders noch umgangen werden)',
'Edit rights' => 'Rechte bearbeiten',
'Edit templates' => 'Vorlagen bearbeiten',
'Edit the Delivery Order' => 'Lieferschein bearbeiten',
sql/Pg-upgrade2/auth_enable_ct_all_edit.pl
# @tag: auth_enable_ct_all_edit
# @description: Zusätzliches Recht alle Kunden / Lieferanten editieren, war bisher standardmäßig IMMER so und kann jetzt deaktiviert werden
# falls es deaktiviert wird, kann ich den Kunden / Lieferanten nur editieren wenn ich selber als Verkäufer eingetragen bin
# @depends: release_2_6_3
# @charset: utf-8
use utf8;
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_update {
my $dbh = $main::auth->dbconnect();
my $query = <<SQL;
SELECT id
FROM auth."group"
WHERE NOT EXISTS(
SELECT group_id
FROM auth.group_rights
WHERE (auth.group_rights.group_id = auth."group".id)
AND (auth.group_rights."right" = 'customer_vendor_all_edit')
)
SQL
my @group_ids = selectall_array_query($form, $dbh, $query);
if (@group_ids) {
$query = <<SQL;
INSERT INTO auth.group_rights (group_id, "right", granted)
VALUES (?, 'customer_vendor_all_edit', TRUE)
SQL
my $sth = prepare_query($form, $dbh, $query);
foreach my $id (@group_ids) {
do_statement($form, $sth, $query, $id);
}
$sth->finish();
$dbh->commit();
}
return 1;
}
return do_update();

Auch abrufbar als: Unified diff