Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 3a21f30f

Von Jan Büren vor mehr als 2 Jahren hinzugefügt

  • ID 3a21f30fcb49cea04553371b6a8619ccdf429172
  • Vorgänger 9287c2ab
  • Nachfolger cbb3aa42

Preisgruppen-Admin darf auch Preisgruppen bei allen verknüpften Kunden entfernen

Unterschiede anzeigen:

SL/DB/Pricegroup.pm
7 7
use SL::DB::Helper::ActsAsList;
8 8

  
9 9
__PACKAGE__->meta->initialize;
10
__PACKAGE__->before_save('_before_save_remove_customer_pricegroup');
10 11

  
11 12
sub displayable_name {
12 13
  my $self = shift;
......
14 15
  return join ' ', grep $_, $self->id, $self->pricegroup;
15 16
}
16 17

  
18
sub _before_save_remove_customer_pricegroup {
19
  my ($self) = @_;
20

  
21
  return 1 unless $::form->{SELF}{remove_customer_pricegroup};
22

  
23
  my %attributes          = (pricegroup_id => undef);
24
  require SL::DB::Customer;
25
  SL::DB::Manager::Customer->update_all(
26
    set   => \%attributes,
27
    where => [
28
      'pricegroup_id' => $self->id,
29
    ],
30
  );
31

  
32
  return 1;
33
}
34

  
17 35
sub validate {
18 36
  my ($self) = @_;
19 37
  require SL::DB::Customer;
20 38

  
21 39
  my @errors;
22

  
23
  if ( $self->obsolete && SL::DB::Manager::Customer->get_all_count(query => [ pricegroup_id => $self->id ]) ) {
24
    push @errors, $::locale->text('The pricegroup is being used by customers.');
40
  if (!$::form->{SELF}{remove_customer_pricegroup}                                    &&
41
      $self->obsolete                                                                 &&
42
      SL::DB::Manager::Customer->get_all_count(query => [ pricegroup_id => $self->id ]) ) {
43
      push @errors, $::locale->text('The pricegroup is being used by customers.');
25 44
  }
26 45

  
27 46
  return @errors;
locale/de/all
729 729
  'Costs'                       => 'Kosten',
730 730
  'Could not create new project #1' => 'Neues Projekt #1 kann nicht angelegt werden',
731 731
  'Could not extract Factur-X/ZUGFeRD data, data and error message:' => 'Konnte keine Factur-X-/ZUGFeRD-Daten extrahieren, folgende Fehlermeldung und das PDF:',
732
  'Could not find an entry for this part in the pricegroup.' => 'Konnte keine Eintrag für diesen Artikel in der Preisgruppe finden.',
732
  'Could not find an entry for this part in the pricegroup.' => 'Konnte keinen Eintrag für diesen Artikel in der Preisgruppe finden.',
733 733
  'Could not load class #1 (#2): "#3"' => 'Konnte Klasse #1 (#2) nicht laden: "#3"',
734 734
  'Could not load class #1, #2' => 'Konnte Klasse #1 nicht laden: "#2"',
735 735
  'Could not load employee'     => 'Konnte Benutzer nicht laden',
......
1012 1012
  'Delete Images'               => 'Bilder löschen',
1013 1013
  'Delete Shipto'               => 'Lieferadresse löschen',
1014 1014
  'Delete all'                  => 'Alle Löschen',
1015
  'Delete for Customers'        => 'Bei Kunden löschen',
1015 1016
  'Delete links'                => 'Verknüpfungen löschen',
1016 1017
  'Delete picture'              => 'Bild löschen',
1017 1018
  'Delete printfiles'           => 'Dokumente löschen',
......
3805 3806
  '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?',
3806 3807
  'This vendor has already been added.' => 'Der Lieferant wurde bereits hinzugefügt.',
3807 3808
  'This vendor number is already in use.' => 'Diese Lieferantennummer wird bereits verwendet.',
3809
  'This will also remove this pricegroup for all customers.' => 'Damit werden auch alle verknüpften Preisgruppen im Kundenstamm gelöscht!',
3808 3810
  '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.',
3809 3811
  'This will be treated as a discount in percent points.' => 'Diese Option schlägt den Wert in Prozentpunkten als Rabatt vor.',
3810 3812
  '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.',
templates/webpages/simple_system_setting/_pricegroup_form.html
10 10
  <th align="right">[% LxERP.t8("Obsolete") %]</th>
11 11
  <td>[% L.checkbox_tag("object.obsolete", checked=SELF.object.obsolete, for_submit=1) %]</td>
12 12
 </tr>
13
 <tr>
14
  <th align="right">[% LxERP.t8("Delete for Customers") %]</th>
15
  <td>[% L.checkbox_tag("SELF.remove_customer_pricegroup", checked=SELF.remove_customer_pricegroup, for_submit=1) %] [% LxERP.t8("This will also remove this pricegroup for all customers.") %]</td>
16
 </tr>
17

  
13 18
</table>

Auch abrufbar als: Unified diff