Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 1e251313

Von Moritz Bunkus vor etwa 17 Jahren hinzugefügt

  • ID 1e25131315e72036aa6df1d626011a761218d233
  • Vorgänger 0615efff
  • Nachfolger 6ebad56e

Preisfatkoren implementiert.

Unterschiede anzeigen:

SL/AM.pm
2228 2228
  $main::lxdebug->leave_sub();
2229 2229
}
2230 2230

  
2231
sub save_price_factor {
2232
  $main::lxdebug->enter_sub();
2233

  
2234
  my ($self, $myconfig, $form) = @_;
2235

  
2236
  # connect to database
2237
  my $dbh = $form->get_standard_dbh($myconfig);
2238

  
2239
  my $query;
2240
  my @values = ($form->{description}, conv_i($form->{factor}));
2241

  
2242
  if ($form->{id}) {
2243
    $query = qq|UPDATE price_factors SET description = ?, factor = ? WHERE id = ?|;
2244
    push @values, conv_i($form->{id});
2245

  
2246
  } else {
2247
    $query = qq|INSERT INTO price_factors (description, factor, sortkey) VALUES (?, ?, (SELECT COALESCE(MAX(sortkey), 0) + 1 FROM price_factors))|;
2248
  }
2249

  
2250
  do_query($form, $dbh, $query, @values);
2251

  
2252
  $dbh->commit();
2253

  
2254
  $main::lxdebug->leave_sub();
2255
}
2256

  
2257
sub get_all_price_factors {
2258
  $main::lxdebug->enter_sub();
2259

  
2260
  my ($self, $myconfig, $form) = @_;
2261

  
2262
  # connect to database
2263
  my $dbh = $form->get_standard_dbh($myconfig);
2264

  
2265
  $form->{PRICE_FACTORS} = selectall_hashref_query($form, $dbh, qq|SELECT * FROM price_factors ORDER BY sortkey|);
2266

  
2267
  $main::lxdebug->leave_sub();
2268
}
2269

  
2270
sub get_price_factor {
2271
  $main::lxdebug->enter_sub();
2272

  
2273
  my ($self, $myconfig, $form) = @_;
2274

  
2275
  # connect to database
2276
  my $dbh = $form->get_standard_dbh($myconfig);
2277

  
2278
  my $query = qq|SELECT description, factor,
2279
                   ((SELECT COUNT(*) FROM parts      WHERE price_factor_id = ?) +
2280
                    (SELECT COUNT(*) FROM invoice    WHERE price_factor_id = ?) +
2281
                    (SELECT COUNT(*) FROM orderitems WHERE price_factor_id = ?)) = 0 AS orphaned
2282
                 FROM price_factors WHERE id = ?|;
2283

  
2284
  ($form->{description}, $form->{factor}, $form->{orphaned}) = selectrow_query($form, $dbh, $query, (conv_i($form->{id})) x 4);
2285

  
2286
  $main::lxdebug->leave_sub();
2287
}
2288

  
2289
sub delete_price_factor {
2290
  $main::lxdebug->enter_sub();
2291

  
2292
  my ($self, $myconfig, $form) = @_;
2293

  
2294
  # connect to database
2295
  my $dbh = $form->get_standard_dbh($myconfig);
2296

  
2297
  do_query($form, $dbh, qq|DELETE FROM price_factors WHERE id = ?|, conv_i($form->{id}));
2298
  $dbh->commit();
2299

  
2300
  $main::lxdebug->leave_sub();
2301
}
2231 2302

  
2232 2303

  
2233 2304
1;

Auch abrufbar als: Unified diff