From: Andrea Zagli Date: Sun, 24 Feb 2013 11:54:00 +0000 (+0100) Subject: Controllo sovrapposizione date dell'atto per l'albo (closes #609). X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;p=albonline%2Fbe Controllo sovrapposizione date dell'atto per l'albo (closes #609). --- diff --git a/src/atto.c b/src/atto.c index 9e32e50..43d1b51 100644 --- a/src/atto.c +++ b/src/atto.c @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -303,6 +304,10 @@ atto_salva (Atto *atto, gboolean chiudi) { gchar *sql; + GDateTime *gdt_ricezione_data; + GDateTime *gdt_da_data; + GDateTime *gdt_a_data; + AttoClass *klass = ATTO_GET_CLASS (atto); AttoPrivate *priv = ATTO_GET_PRIVATE (atto); @@ -312,6 +317,29 @@ atto_salva (Atto *atto, gboolean chiudi) return; } + gdt_ricezione_data = gtk_form_field_datetime_get_gdatetime_from_str (gtk_form_get_form_field_value_stringify_by_name (priv->form, "ricezione_data"), "%d/%m/%Y"); + gdt_da_data = gtk_form_field_datetime_get_gdatetime_from_str (gtk_form_get_form_field_value_stringify_by_name (priv->form, "pubblicazione_inizio_data"), "%d/%m/%Y"); + gdt_a_data = gtk_form_field_datetime_get_gdatetime_from_str (gtk_form_get_form_field_value_stringify_by_name (priv->form, "pubblicazione_fine_data"), "%d/%m/%Y"); + + if (gdt_ricezione_data != NULL + && g_date_time_compare (gdt_ricezione_data, gdt_da_data) > 0) + { + solipa_message_dialog (priv->w, + GTK_MESSAGE_INFO, + GTK_BUTTONS_OK, + "La data ricezione non può essere maggiore di quella di inizio pubblicazione."); + return; + } + + if (g_date_time_compare (gdt_da_data, gdt_a_data) > 0) + { + solipa_message_dialog (priv->w, + GTK_MESSAGE_INFO, + GTK_BUTTONS_OK, + "La data inizio pubblicazione non può essere maggiore di quella di fine."); + return; + } + if (priv->id == 0) { sql = gtk_form_get_sql (priv->form, GTK_FORM_SQL_INSERT);