Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision ae84885c

Von Kivitendo Admin vor mehr als 7 Jahren hinzugefügt

  • ID ae84885cff2a7ca9cda86f7cd6649324ad689300
  • Vorgänger 639de8c2
  • Nachfolger 5fcefdf7

Part Controller - mit nächster freier Nummer speichern

Gibt man beim Anlegen eines neuen Artikels die Artikelnummer vor so wird
beim Speichern eine Warnung angezeigt und der Speichervorgang
abgebrochen.

Lässt man die Artikelnummer frei und die nächste Artikelnummer (laut
defaults articlenumber, servicenumber, ...) ist schon vergeben, so wird
die nächste freie Artikelnummer genommen.

Die Prüfung, ob die nächste Artikelnummer bereits vergeben ist, wurde
daher entfernt.

Unterschiede anzeigen:

SL/Controller/Part.pm
94 94
      return $self->js->error(t8('The document has been changed by another user. Please reopen it in another window and copy the changes to the new window'))->render;
95 95
  }
96 96

  
97
  if ( $is_new and !$::form->{part}{partnumber} ) {
98
    $self->check_next_transnumber_is_free or return $self->js->error(t8('The next partnumber in the number range already exists!'))->render;
97
  if (    $is_new
98
       && $::form->{part}{partnumber}
99
       && SL::DB::Manager::Part->find_by(partnumber => $::form->{part}{partnumber})
100
     ) {
101
    return $self->js->error(t8('The partnumber is already being used'))->render;
99 102
  }
100 103

  
101 104
  $self->parse_form;
......
1037 1040
}
1038 1041

  
1039 1042
# general checking functions
1040
sub check_next_transnumber_is_free {
1041
  my ($self) = @_;
1042

  
1043
  my ($next_transnumber, $count);
1044
  $self->part->db->with_transaction(sub {
1045
    $next_transnumber = $self->part->get_next_trans_number;
1046
    $count = SL::DB::Manager::Part->get_all_count(where => [ partnumber => $next_transnumber ]);
1047
    return 1;
1048
  }) or die $@;
1049
  $count ? return 0 : return 1;
1050
}
1051 1043

  
1052 1044
sub check_part_id {
1053 1045
  die t8("Can't load item without a valid part.id") . "\n" unless $::form->{part}{id};

Auch abrufbar als: Unified diff