235 gboolean valid, row_deleted, row_fixed;
236 gchar *id, *date_opened, *date_posted, *due_date, *owner_id, *date, *quantity, *price;
237 GString *prev_id, *prev_date_opened, *prev_date_posted, *prev_owner_id, *prev_date;
245 DEBUG(
"date_format_string: %s",date_format_string);
256 prev_id = g_string_new (
"");
257 prev_date_opened = g_string_new (
"");
258 prev_date_posted = g_string_new (
"");
259 prev_owner_id = g_string_new (
"");
260 prev_date = g_string_new (
"");
262 valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter);
269 gtk_tree_model_get (GTK_TREE_MODEL (store), &iter,
271 DATE_OPENED, &date_opened,
272 DATE_POSTED, &date_posted,
276 QUANTITY, &quantity, PRICE, &price, -1);
278 if (strlen (price) == 0)
282 valid = gtk_list_store_remove (store, &iter);
284 g_string_append_printf (info,
285 _(
"ROW %d DELETED, PRICE_NOT_SET: id=%s\n"),
289 else if (strlen (quantity) == 0)
293 valid = gtk_list_store_remove (store, &iter);
295 g_string_append_printf (info, _(
"ROW %d DELETED, QTY_NOT_SET: id=%s\n"),
300 if (strlen (
id) == 0)
303 if (prev_id->len == 0)
306 valid = gtk_list_store_remove (store, &iter);
308 g_string_append_printf (info,
309 _(
"ROW %d DELETED, ID_NOT_SET\n"), row);
314 gtk_list_store_set (store, &iter, ID, prev_id->str, -1);
321 g_string_assign (prev_id,
id);
323 g_string_assign (prev_date_opened,
"");
324 g_string_assign (prev_date_posted,
"");
325 g_string_assign (prev_owner_id,
"");
326 g_string_assign (prev_date,
"");
334 if(!isDateValid(date_opened))
336 if (prev_date_opened->len == 0)
341 g_date_clear (&date, 1);
343 g_date_strftime (temp, 20, date_format_string, &date);
344 g_string_assign (prev_date_opened, temp);
347 gtk_list_store_set (store, &iter, DATE_OPENED,
348 prev_date_opened->str, -1);
354 g_string_assign (prev_date_opened, date_opened);
359 if(!isDateValid(date_posted))
361 if (prev_date_posted->len == 0)
368 gtk_list_store_set (store, &iter, DATE_POSTED,
369 prev_date_posted->str, -1);
376 g_string_assign (prev_date_posted, date_posted);
392 if (strlen (quantity) == 0)
395 gtk_list_store_set (store, &iter, QUANTITY,
"1", -1);
402 if (strlen (owner_id) == 0)
404 if (prev_owner_id->len == 0)
407 valid = gtk_list_store_remove (store, &iter);
409 g_string_append_printf (info,
410 _(
"ROW %d DELETED, OWNER_NOT_SET: id=%s\n"),
415 gtk_list_store_set (store, &iter, owner_id,
416 prev_owner_id->str, -1);
423 g_string_assign (prev_owner_id, owner_id);
425 if (g_ascii_strcasecmp (type,
"BILL") == 0)
428 if (!gnc_search_vendor_on_id
429 (gnc_get_current_book (), prev_owner_id->str))
432 valid = gtk_list_store_remove (store, &iter);
434 g_string_append_printf (info,
435 _(
"ROW %d DELETED, VENDOR_DOES_NOT_EXIST: id=%s\n"),
439 else if (g_ascii_strcasecmp (type,
"INVOICE") == 0)
442 if (!gnc_search_customer_on_id
443 (gnc_get_current_book (), prev_owner_id->str))
446 valid = gtk_list_store_remove (store, &iter);
448 g_string_append_printf (info,
449 _(
"ROW %d DELETED, CUSTOMER_DOES_NOT_EXIST: id=%s\n"),
458 g_free (date_opened);
459 g_free (date_posted);
468 g_string_assign (prev_id,
"");
469 g_string_assign (prev_date_opened,
"");
470 g_string_assign (prev_date_posted,
"");
471 g_string_assign (prev_owner_id,
"");
472 g_string_assign (prev_date,
"");
478 valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter);
484 g_string_free (prev_id, TRUE);
485 g_string_free (prev_date_opened, TRUE);
486 g_string_free (prev_date_posted, TRUE);
487 g_string_free (prev_owner_id, TRUE);
488 g_string_free (prev_date, TRUE);
490 if (info && (info->len > 0))
492 g_string_prepend (info,
"\n\n");
493 g_string_prepend (info, _(
"These rows were deleted:"));
void gnc_gdate_set_today(GDate *gd)
#define DEBUG(format, args...)
const gchar * qof_date_format_get_string(QofDateFormat df)
QofDateFormat qof_date_format_get(void)