#include <libautoz/autoz.h>
#include <libgtkform/form.h>
+#include <libgtkform/fielddatetime.h>
#include <libgtkformui/gtkformdecoder.h>
#include <libsolipa/libsolipa.h>
#include <libreptool/libreptool.h>
{
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);
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);