Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 3bb4190a

Von Moritz Bunkus vor mehr als 3 Jahren hinzugefügt

  • ID 3bb4190a48d58f5a598b659c27b9a5bf233aa54b
  • Vorgänger 95f21f71
  • Nachfolger 2350fb7f

Kunden-/Lieferantenstammdaten: Berechtigungsmodell gefixt

Neues Modell sieht wie folgt aus:

1. Alle Personen haben Leserechte auf alle Kunden- &
Lieferantenstammdaten. Das betrifft nicht nur die Stammdatenmasken,
sondern auch die AJAJ-Autovervollständigung (Kunden-/
Lieferanten-Picker) oder die Detail-Popup-Fenster in Einkaufs-/
Verkaufsbelegmasken.

2. Personen mit »edit«-Recht aber ohne »edit all«-Recht dürfen nur die
eigenen Kundenstammdaten verändern (speichern/löschen), wobei
»eigen« definiert ist als »aktuelle Person ist Verkäufer*in des
Kunden«. Neue Kunden dürfen angelegt werden. Bei Lieferanten dürfen
hingegen alle Stammdaten bearbeitet werden.

3. Personen mit »edit all«-Recht haben Vollzugriff auf alle Kunden- &
Lieferantenstammdaten.

Unterschiede anzeigen:

SL/Auth.pm
1229 1229
  return $granted;
1230 1230
}
1231 1231

  
1232
sub deny_access {
1233
  my ($self) = @_;
1234

  
1235
  $::dispatcher->reply_with_json_error(error => 'access') if $::request->type eq 'json';
1236

  
1237
  delete $::form->{title};
1238
  $::form->show_generic_error($::locale->text("You do not have the permissions to access this function."));
1239
}
1240

  
1232 1241
sub assert {
1233 1242
  my ($self, $right, $dont_abort) = @_;
1234 1243

  
......
1237 1246
  }
1238 1247

  
1239 1248
  if (!$dont_abort) {
1240
    $::dispatcher->reply_with_json_error(error => 'access') if $::request->type eq 'json';
1241

  
1242
    delete $::form->{title};
1243
    $::form->show_generic_error($::locale->text("You do not have the permissions to access this function."));
1249
    $self->deny_access;
1244 1250
  }
1245 1251

  
1246 1252
  return 0;

Auch abrufbar als: Unified diff