Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 4f50aaa5

Von Jan Büren vor fast 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
947 947
    ["crm_notices",                    $locale->text("CRM notices")],
948 948
    ["crm_other",                      $locale->text("CRM other")],
949 949
    ["--master_data",                  $locale->text("Master Data")],
950
    ["customer_vendor_edit",           $locale->text("Create and edit customers and vendors")],
950
    ["customer_vendor_edit",           $locale->text("Create customers and vendors. Edit all vendors. Edit only customers where salesman equals employee (login)")],
951
    ["customer_vendor_all_edit",       $locale->text("Create customers and vendors. Edit all vendors. Edit all customers")],
951 952
    ["part_service_assembly_edit",     $locale->text("Create and edit parts, services, assemblies")],
952 953
    ["project_edit",                   $locale->text("Create and edit projects")],
953 954
    ["--ar",                           $locale->text("AR")],
SL/CT.pm
769 769
    push(@values, conv_i($form->{business_id}));
770 770
  }
771 771

  
772
  # Nur Kunden finden, bei denen ich selber der Verkäufer bin
773
  # Gilt nicht für Lieferanten
774
  if ($cv eq 'customer' &&   !$main::auth->assert('customer_vendor_all_edit', 1)) {
775
    $where .= qq| AND ct.salesman_id = (select id from employee where login= ?)|;
776
    push(@values, $form->{login});
777
  }
778

  
772 779
  my ($cvar_where, @cvar_values) = CVar->build_filter_query('module'         => 'CT',
773 780
                                                            'trans_id_field' => 'ct.id',
774 781
                                                            'filter'         => $form);
doc/changelog
47 47
- Mastertemplates für den Ausdruck sind in eigene Unterverzeichnisse gewandert.
48 48
  Dadurch wird das Hinzufügen neuer Vorlagensätze einfacher.
49 49

  
50
- Zwei Rechterweiterung für 'eingeschränktere' Vertriebspartnerfunktion
51
   Schreibschutz für Preise in Angebot und Suchfunktion in Stammdaten Kunden nur für Mitarbeiter freigeben, die auch
52
   gleichzeitig als Verkäufer für den Kunden eingetragen sind. Rechtebeschreibung im Admin-Menü wie folgt:
53
    * Preise und Rabatt in Formularen frei anpassen (falls deaktiviert,
54
      wird allerdings NUR das textfield auf READONLY gesetzt / kann je nach Browserversion und technischen Fähigkeiten des Anwenders umgangen werden).
55
    * Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten. Nur Kunden bearbeiten bei denen der Verkäufer gleich Bearbeiter (login) ist
50 56

  
51 57
  Kleinere neue Features und Detailverbesserungen:
52 58
  - á (LATIN SMALL LETTER A WITH ACUTE) wird in Latex-Vorlagen nicht mehr durch
locale/de/all
447 447
  'Create a new payment term'   => 'Neue Zahlungsbedingungen anlegen',
448 448
  'Create a standard group'     => 'Eine Standard-Benutzergruppe anlegen',
449 449
  'Create and edit RFQs'        => 'Lieferantenanfragen erfassen und bearbeiten',
450
  'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten',
451 450
  'Create and edit dunnings'    => 'Mahnungen erfassen und bearbeiten',
452 451
  'Create and edit invoices and credit notes' => 'Rechnungen und Gutschriften erfassen und bearbeiten',
453 452
  'Create and edit parts, services, assemblies' => 'Artikel, Dienstleistungen, Erzeugnisse erfassen und bearbeiten',
......
462 461
  'Create bank collection via SEPA XML' => 'Bankeinzug via SEPA XML erstellen',
463 462
  'Create bank transfer'        => 'Überweisung erstellen',
464 463
  'Create bank transfer via SEPA XML' => 'Überweisung via SEPA XML erzeugen',
464
  'Create customers and vendors. Edit all vendors. Edit all customers' => 'Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten. Alle Kunden bearbeiten',
465
  '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',
465 466
  'Create invoice?'             => 'Rechnung erstellen?',
466 467
  'Create new'                  => 'Neu erfassen',
467 468
  'Create new business'         => 'Kunden-/Lieferantentyp erfassen',
......
731 732
  'Edit membership'             => 'Mitgliedschaft bearbeiten',
732 733
  'Edit note'                   => 'Notiz bearbeiten',
733 734
  'Edit payment term'           => 'Zahlungsbedingungen bearbeiten',
734
  '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).',
735
  '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)',
735 736
  'Edit rights'                 => 'Rechte bearbeiten',
736 737
  'Edit templates'              => 'Vorlagen bearbeiten',
737 738
  'Edit the Delivery Order'     => 'Lieferschein bearbeiten',
sql/Pg-upgrade2/auth_enable_ct_all_edit.pl
1
# @tag: auth_enable_ct_all_edit
2
# @description: Zusätzliches Recht alle Kunden / Lieferanten editieren, war bisher standardmäßig IMMER so und kann jetzt deaktiviert werden
3
#               falls es deaktiviert wird, kann ich den Kunden / Lieferanten nur editieren wenn ich selber als Verkäufer eingetragen bin
4
# @depends: release_2_6_3
5
# @charset: utf-8
6

  
7
use utf8;
8
use strict;
9
use Data::Dumper;
10
die("This script cannot be run from the command line.") unless ($main::form);
11

  
12
sub mydberror {
13
  my ($msg) = @_;
14
  die($dbup_locale->text("Database update error:") .
15
      "<br>$msg<br>" . $DBI::errstr);
16
}
17

  
18
sub do_update {
19
  my $dbh   = $main::auth->dbconnect();
20
  my $query = <<SQL;
21
    SELECT id
22
    FROM auth."group"
23
    WHERE NOT EXISTS(
24
      SELECT group_id
25
      FROM auth.group_rights
26
      WHERE (auth.group_rights.group_id = auth."group".id)
27
        AND (auth.group_rights."right"  = 'customer_vendor_all_edit')
28
    )
29
SQL
30

  
31
  my @group_ids = selectall_array_query($form, $dbh, $query);
32
  if (@group_ids) {
33
    $query = <<SQL;
34
      INSERT INTO auth.group_rights (group_id, "right",          granted)
35
      VALUES                        (?,        'customer_vendor_all_edit', TRUE)
36
SQL
37
    my $sth = prepare_query($form, $dbh, $query);
38

  
39
    foreach my $id (@group_ids) {
40
      do_statement($form, $sth, $query, $id);
41
    }
42

  
43
    $sth->finish();
44
    $dbh->commit();
45
  }
46

  
47
  return 1;
48
}
49

  
50
return do_update();
51

  

Auch abrufbar als: Unified diff