use SL::DB::Helper::ActsAsList;
__PACKAGE__->meta->initialize;
+__PACKAGE__->before_save('_before_save_remove_customer_pricegroup');
sub displayable_name {
my $self = shift;
return join ' ', grep $_, $self->id, $self->pricegroup;
}
+sub _before_save_remove_customer_pricegroup {
+ my ($self) = @_;
+
+ return 1 unless $::form->{SELF}{remove_customer_pricegroup};
+
+ my %attributes = (pricegroup_id => undef);
+ require SL::DB::Customer;
+ SL::DB::Manager::Customer->update_all(
+ set => \%attributes,
+ where => [
+ 'pricegroup_id' => $self->id,
+ ],
+ );
+
+ return 1;
+}
+
sub validate {
my ($self) = @_;
require SL::DB::Customer;
my @errors;
-
- if ( $self->obsolete && SL::DB::Manager::Customer->get_all_count(query => [ pricegroup_id => $self->id ]) ) {
- push @errors, $::locale->text('The pricegroup is being used by customers.');
+ if (!$::form->{SELF}{remove_customer_pricegroup} &&
+ $self->obsolete &&
+ SL::DB::Manager::Customer->get_all_count(query => [ pricegroup_id => $self->id ]) ) {
+ push @errors, $::locale->text('The pricegroup is being used by customers.');
}
return @errors;
'Costs' => 'Kosten',
'Could not create new project #1' => 'Neues Projekt #1 kann nicht angelegt werden',
'Could not extract Factur-X/ZUGFeRD data, data and error message:' => 'Konnte keine Factur-X-/ZUGFeRD-Daten extrahieren, folgende Fehlermeldung und das PDF:',
- 'Could not find an entry for this part in the pricegroup.' => 'Konnte keine Eintrag für diesen Artikel in der Preisgruppe finden.',
+ 'Could not find an entry for this part in the pricegroup.' => 'Konnte keinen Eintrag für diesen Artikel in der Preisgruppe finden.',
'Could not load class #1 (#2): "#3"' => 'Konnte Klasse #1 (#2) nicht laden: "#3"',
'Could not load class #1, #2' => 'Konnte Klasse #1 nicht laden: "#2"',
'Could not load employee' => 'Konnte Benutzer nicht laden',
'Delete Images' => 'Bilder löschen',
'Delete Shipto' => 'Lieferadresse löschen',
'Delete all' => 'Alle Löschen',
+ 'Delete for Customers' => 'Bei Kunden löschen',
'Delete links' => 'Verknüpfungen löschen',
'Delete picture' => 'Bild löschen',
'Delete printfiles' => 'Dokumente löschen',
'This vendor has already a booking with this invoice number, do you really want to add the same invoice number again?' => 'Es gibt für diesen Lieferant schon einen Beleg mit dieser Rechnungsnummer. Möchten Sie wirklich eine weitere Buchung mit derselben Rechnungsnummer hinzufügen?',
'This vendor has already been added.' => 'Der Lieferant wurde bereits hinzugefügt.',
'This vendor number is already in use.' => 'Diese Lieferantennummer wird bereits verwendet.',
+ 'This will also remove this pricegroup for all customers.' => 'Damit werden auch alle verknüpften Preisgruppen im Kundenstamm gelöscht!',
'This will apply a 3% reduction to the master data price before entering it into the record item.' => 'Diese Zeile zieht vom Stammdatenpreis 3% ab, und schlägt den resultierenden Preis vor.',
'This will be treated as a discount in percent points.' => 'Diese Option schlägt den Wert in Prozentpunkten als Rabatt vor.',
'This will happen before the price is offered, and the reduction will not be printed in documents.' => 'Das passiert, bevor der Preis vorgeschlagen wird, und der Abschlag wird nicht in Belegen ausgewiesen.',