X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/adb94488f93673b5b8775bf07cfc453c5c3e2973..4f6a2fa1d46212e189bc46a04fce62a77120e02f:/bin/mozilla/ct.pl diff --git a/bin/mozilla/ct.pl b/bin/mozilla/ct.pl index 3cafbd93f..dbf8cdd82 100644 --- a/bin/mozilla/ct.pl +++ b/bin/mozilla/ct.pl @@ -353,9 +353,18 @@ sub form_header { $form->{currency} = $form->{curr}; } - $form->{CUSTOM_VARIABLES} = CVar->get_custom_variables('module' => 'CT', 'trans_id' => $form->{id}); + $::form->{CUSTOM_VARIABLES} = { }; + my %specs = ( CT => { field => 'id', name_prefix => '', }, + Contacts => { field => 'cp_id', name_prefix => 'cp', }, + ); - CVar->render_inputs('variables' => $form->{CUSTOM_VARIABLES}) if (scalar @{ $form->{CUSTOM_VARIABLES} }); + for my $module (keys %specs) { + my $spec = $specs{$module}; + + $::form->{CUSTOM_VARIABLES}->{$module} = CVar->get_custom_variables(module => $module, trans_id => $::form->{ $spec->{field} }); + CVar->render_inputs(variables => $::form->{CUSTOM_VARIABLES}->{$module}, name_prefix => $spec->{name_prefix}) + if scalar @{ $::form->{CUSTOM_VARIABLES}->{$module} }; + } $form->header; print $form->parse_html_template('ct/form_header'); @@ -672,6 +681,10 @@ sub get_contact { CT->query_titles_and_greetings(\%::myconfig, $::form); CT->get_contact(\%::myconfig, $::form) if $::form->{cp_id}; + $::form->{CUSTOM_VARIABLES}{Contacts} = CVar->get_custom_variables(module => 'Contacts', trans_id => $::form->{cp_id}); + CVar->render_inputs(variables => $::form->{CUSTOM_VARIABLES}{Contacts}, name_prefix => 'cp') + if scalar @{ $::form->{CUSTOM_VARIABLES}->{Contacts} }; + $::form->{contacts_label} = \&_contacts_label; print $::form->ajax_response_header(), $::form->parse_html_template('ct/_contact'); @@ -711,23 +724,30 @@ sub get_delivery { } sub delete_shipto { - $main::lxdebug->enter_sub(); + $::lxdebug->enter_sub; + $::auth->assert('customer_vendor_edit'); - $main::auth->assert('customer_vendor_edit'); + if (!$::form->{shipto_id}) { + flash('error', $::locale->text('No shipto selected to delete')); + } else { - my $form = $main::form; - my %myconfig = %main::myconfig; + CT->get_shipto(\%::myconfig, $::form); - CT->get_shipto(\%myconfig, \%$form); + my $shipto = SL::DB::Manager::Shipto->find_by(shipto_id => $::form->{shipto_id}); - unless ($form->{shiptoused}) { - CT->delete_shipto($form->{shipto_id}); - @$form{ grep /^shipto/, keys %$form } = undef; + if ($shipto->used) { + $shipto->detach->save; + flash('info', $::locale->text('Shipto is in use and was flagged invalid.')); + } else { + $shipto->delete; + flash('info', $::locale->text('Shipto deleted.')); + } + delete $::form->{$_} for grep /^shipto/, keys %$::form; } edit(); - $main::lxdebug->leave_sub(); + $::lxdebug->leave_sub; } sub delete_contact {