Artikelstammdaten: kein Redirect auf »neuen Artikel anlegen«
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 7 Sep 2017 09:43:52 +0000 (11:43 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 7 Sep 2017 11:25:12 +0000 (13:25 +0200)
Kommt man aus der Artikelsuche oder legt man einen neuen Artikel an,
so wird beim Speichern nun kein Redirect mehr auf die Suchliste
bzw. die Maske zum Neuanlegen eines Artikels gemacht, sondern auf die
Bearbeiten-Maske des Artikels, der gerade bearbeitet bzw. angelegt
wurde. Man bleibt also sozusagen im Artikel, den man gerade in der
Hand hatte.

Existierende Callbacks werden weiterhin honoriert, sprich kommt man
aus anderen Masken, so kommt man beim Speichern auch in die andere
Maske zurück.

SL/Controller/Part.pm
bin/mozilla/ic.pl
templates/webpages/ic/search.html

index 461090b..66f8731 100644 (file)
@@ -42,7 +42,6 @@ __PACKAGE__->run_before('check_part_id', only   => [ qw(edit delete) ]);
 sub action_add_part {
   my ($self, %params) = @_;
 
-  $::form->{callback} = $self->url_for(action => 'add_part') unless $::form->{callback};
   $self->part( SL::DB::Part->new_part );
   $self->add;
 };
@@ -50,7 +49,6 @@ sub action_add_part {
 sub action_add_service {
   my ($self, %params) = @_;
 
-  $::form->{callback} = $self->url_for(action => 'add_service') unless $::form->{callback};
   $self->part( SL::DB::Part->new_service );
   $self->add;
 };
@@ -58,7 +56,6 @@ sub action_add_service {
 sub action_add_assembly {
   my ($self, %params) = @_;
 
-  $::form->{callback} = $self->url_for(action => 'add_assembly') unless $::form->{callback};
   $self->part( SL::DB::Part->new_assembly );
   $self->add;
 };
@@ -66,7 +63,6 @@ sub action_add_assembly {
 sub action_add_assortment {
   my ($self, %params) = @_;
 
-  $::form->{callback} = $self->url_for(action => 'add_assortment') unless $::form->{callback};
   $self->part( SL::DB::Part->new_assortment );
   $self->add;
 };
@@ -194,11 +190,7 @@ sub action_delete {
   if ( $::form->{callback} ) {
     $self->redirect_to($::form->unescape($::form->{callback}));
   } else {
-    my @redirect_params = (
-        controller => 'controller.pl',
-        action     => 'LoginScreen/user_login'
-    );
-    $self->redirect_to(@redirect_params);
+    $self->redirect_to(controller => 'ic.pl', action => 'search', searchitems => 'article');
   }
 }
 
index d4ad5f1..784cc1a 100644 (file)
@@ -500,7 +500,7 @@ sub generate_report {
       $soldtotal                  = 0 if ($form->{sold});
     }
 
-    my $edit_link               = build_std_url('script=controller.pl', 'action=Part/edit', 'part.id=' . E($ref->{id}), 'callback');
+    my $edit_link               = build_std_url('script=controller.pl', 'action=Part/edit', 'part.id=' . E($ref->{id}));
     $row->{partnumber}->{link}  = $edit_link;
     $row->{description}->{link} = $edit_link;
 
index c775680..e4996d3 100644 (file)
@@ -4,6 +4,7 @@
 [%- USE L %]
 [%- USE P %]
 [% SET style="width: 250px" %]
+[%- PROCESS 'common/flash.html' %]
 <h1>[% title %]</h1>
 
  <form method="post" action="ic.pl" id="form">