Revision 2e19b5c0
Von Tamino Steinert vor etwa 1 Jahr hinzugefügt
| SL/Controller/Part.pm | ||
|---|---|---|
|     $select_tag_options{empty_title} = t8("Select Variant Property First");
 | ||
|   }
 | ||
|  | ||
|   foreach my $variant (@{$self->part->variants}) {
 | ||
|     my $select_tag_name = "add_variant_property_value_" . $variant->id;
 | ||
|     my $new_select_tag = select_tag(
 | ||
|       $select_tag_name, \@options,
 | ||
|       %select_tag_options
 | ||
|     );
 | ||
|     $self->js->replaceWith("#$select_tag_name", $new_select_tag);
 | ||
|   }
 | ||
|   my $new_select_tag = select_tag(
 | ||
|     "variants[].add_variant_property_value", \@options,
 | ||
|     %select_tag_options
 | ||
|   );
 | ||
|   $self->js->replaceWith('[name^="variants[].add_variant_property_value"]', $new_select_tag);
 | ||
|  | ||
|   my $new_select_tag_multible = select_tag(
 | ||
|     "add_variant_property_value_for_selected_variants", \@options,
 | ||
|     %select_tag_options
 | ||
|   );
 | ||
|   $self->js->replaceWith("#add_variant_property_value_for_selected_variants", $new_select_tag_multible);
 | ||
|  | ||
|   $self->js->render();
 | ||
| }
 | ||
| ... | ... | |
|  | ||
|   my $variant_property_id = $::form->{add_variant_property};
 | ||
|   die t8("Please select a variant property") unless ($variant_property_id);
 | ||
|   my %variant_id_to_values = map {$_->{id} => $_} @{$::form->{variants}};
 | ||
|   foreach my $variant (@{$self->part->variants}) {
 | ||
|     die t8("Please select a new variant property value for all variants")
 | ||
|       unless $::form->{"add_variant_property_value_" . $variant->id};
 | ||
|       unless $variant_id_to_values{$variant->id}->{"add_variant_property_value"};
 | ||
|   }
 | ||
|  | ||
|   SL::DB->client->with_transaction(sub {
 | ||
| ... | ... | |
|     foreach my $variant (@{$self->part->variants}) {
 | ||
|       SL::DB::VariantPropertyValuePart->new(
 | ||
|         part_id                   => $variant->id,
 | ||
|         variant_property_value_id => $::form->{"add_variant_property_value_" . $variant->id},
 | ||
|         variant_property_value_id => $variant_id_to_values{$variant->id}->{"add_variant_property_value"},
 | ||
|       )->save;
 | ||
|     }
 | ||
|     1;
 | ||
Auch abrufbar als: Unified diff
Varianten: Schnellbearbeitung von Varianten