From: Andrea Zagli Date: Thu, 29 Dec 2011 07:42:28 +0000 (+0100) Subject: Aumentati i controlli sulle autorizzazioni. X-Git-Tag: gtk3~5 X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=b01d09d3ffccf5fe2877846f7f5314515e47a1b2;p=solipa%2Fterritorio Aumentati i controlli sulle autorizzazioni. --- diff --git a/.project b/.project index f295a15..39e8a2f 100644 --- a/.project +++ b/.project @@ -70,7 +70,7 @@ - 1307524070148 + 1325143905026 30 @@ -79,7 +79,7 @@ - 1307524070162 + 1325143905031 22 @@ -88,7 +88,7 @@ - 1307524070176 + 1325143905035 22 @@ -97,7 +97,7 @@ - 1307524070191 + 1325143905040 22 @@ -106,7 +106,7 @@ - 1307524070205 + 1325143905045 22 @@ -115,7 +115,7 @@ - 1307524070222 + 1325143905049 22 @@ -124,7 +124,7 @@ - 1307524070237 + 1325143905053 22 @@ -132,5 +132,149 @@ 1.0-name-matches-false-false-*.lo + + 1325143905057 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-config.h.in* + + + + 1325143905061 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-config.log + + + + 1325143905065 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-config.sub + + + + 1325143905069 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-depcomp + + + + 1325143905074 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-install-sh + + + + 1325143905078 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-ltmain.sh + + + + 1325143905082 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-missing + + + + 1325143905087 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-config.guess + + + + 1325143905091 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-aclocal.m4 + + + + 1325143905095 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-config.status + + + + 1325143905100 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-libterritorio.pc + + + + 1325143905129 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-libtool + + + + 1325143905133 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-stamp-h1 + + + + 1325143905159 + + 6 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-configure + + + + 1325143905181 + + 30 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-*.anjuta + + + + 1325143905204 + + 22 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-config.h + + diff --git a/src/aggregazioniterritoriali.c b/src/aggregazioniterritoriali.c index 5bc5ab7..d0cba5d 100644 --- a/src/aggregazioniterritoriali.c +++ b/src/aggregazioniterritoriali.c @@ -352,11 +352,23 @@ static void territorio_aggregazioni_territoriali_on_btn_nuovo_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *w; TerritorioAggregazioniTerritoriali *territorio_aggregazioni_territoriali = (TerritorioAggregazioniTerritoriali *)user_data; TerritorioAggregazioniTerritorialiPrivate *priv = TERRITORIO_AGGREGAZIONI_TERRITORIALI_GET_PRIVATE (territorio_aggregazioni_territoriali); + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a craere nuove aggregazioni territoriali."); + return; + } + TerritorioAggregazioneTerritoriale *c = territorio_aggregazione_territoriale_new (priv->commons, 0); g_signal_connect (G_OBJECT (c), "aggiornato", @@ -378,6 +390,8 @@ static void territorio_aggregazioni_territoriali_on_btn_elimina_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *dialog; gboolean risp; @@ -389,6 +403,16 @@ territorio_aggregazioni_territoriali_on_btn_elimina_clicked (GtkButton *button, if (gtk_tree_selection_get_selected (priv->selection, NULL, &iter)) { + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a eliminare le aggregazioni territoriali."); + return; + } + dialog = gtk_message_dialog_new (priv->wtransient, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, diff --git a/src/comuni.c b/src/comuni.c index 4160127..6ab286b 100644 --- a/src/comuni.c +++ b/src/comuni.c @@ -499,11 +499,23 @@ static void territorio_comuni_on_btn_nuovo_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *w; TerritorioComuni *territorio_comuni = (TerritorioComuni *)user_data; TerritorioComuniPrivate *priv = TERRITORIO_COMUNI_GET_PRIVATE (territorio_comuni); + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a creare nuovi comuni."); + return; + } + TerritorioComune *c = territorio_comune_new (priv->commons, 0); g_signal_connect (G_OBJECT (c), "aggiornato", @@ -536,6 +548,16 @@ territorio_comuni_on_btn_elimina_clicked (GtkButton *button, TerritorioComuni *territorio_comuni = (TerritorioComuni *)user_data; TerritorioComuniPrivate *priv = TERRITORIO_COMUNI_GET_PRIVATE (territorio_comuni); + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a eliminare i comuni."); + return; + } + if (gtk_tree_selection_get_selected (priv->selection, NULL, &iter)) { gtk_tree_model_get (GTK_TREE_MODEL (priv->lstore_comuni), &iter, diff --git a/src/main.c b/src/main.c index 47f6161..d1fd984 100644 --- a/src/main.c +++ b/src/main.c @@ -229,6 +229,14 @@ main (int argc, char *argv[]) gint i; +#ifdef G_OS_WIN32 + if (g_getenv ("TZ") == NULL) + { + /* per un problema delle glib che fanno riferimento a TZ e sotto win non c'è */ + g_setenv ("TZ", "+01:00", TRUE); + } +#endif + gtk_init (&argc, &argv); gda_init (); @@ -315,7 +323,7 @@ main (int argc, char *argv[]) g_warning ("Impossibile creare l'oggetto per libautoz."); return 0; } - if (!autoz_load_from_db (commons->autoz, gdacon, NULL, TRUE)) + if (!autoz_load_from_db_with_monitor (commons->autoz, gdacon, NULL, TRUE)) { g_warning ("Impossibile caricare la configurazione per libautoz dal db."); return 0; diff --git a/src/province.c b/src/province.c index 2323523..9717d39 100644 --- a/src/province.c +++ b/src/province.c @@ -492,11 +492,23 @@ static void territorio_province_on_btn_nuovo_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *w; TerritorioProvince *territorio_province = (TerritorioProvince *)user_data; TerritorioProvincePrivate *priv = TERRITORIO_PROVINCE_GET_PRIVATE (territorio_province); + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a creare nuove province."); + return; + } + TerritorioProvincia *c = territorio_provincia_new (priv->commons, 0); g_signal_connect (G_OBJECT (c), "aggiornato", @@ -518,6 +530,8 @@ static void territorio_province_on_btn_elimina_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *dialog; gboolean risp; @@ -529,6 +543,16 @@ territorio_province_on_btn_elimina_clicked (GtkButton *button, if (gtk_tree_selection_get_selected (priv->selection, NULL, &iter)) { + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a eliminare le province."); + return; + } + dialog = gtk_message_dialog_new (priv->wtransient, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, diff --git a/src/regioni.c b/src/regioni.c index 2c488cc..3819232 100644 --- a/src/regioni.c +++ b/src/regioni.c @@ -328,7 +328,6 @@ static void territorio_regioni_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { TerritorioRegioni *territorio_regioni = TERRITORIO_REGIONI (object); - TerritorioRegioniPrivate *priv = TERRITORIO_REGIONI_GET_PRIVATE (territorio_regioni); switch (property_id) @@ -343,7 +342,6 @@ static void territorio_regioni_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { TerritorioRegioni *territorio_regioni = TERRITORIO_REGIONI (object); - TerritorioRegioniPrivate *priv = TERRITORIO_REGIONI_GET_PRIVATE (territorio_regioni); switch (property_id) @@ -378,11 +376,23 @@ static void territorio_regioni_on_btn_nuovo_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *w; TerritorioRegioni *territorio_regioni = (TerritorioRegioni *)user_data; TerritorioRegioniPrivate *priv = TERRITORIO_REGIONI_GET_PRIVATE (territorio_regioni); + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a creare nuove regioni."); + return; + } + TerritorioRegione *c = territorio_regione_new (priv->commons, 0); g_signal_connect (G_OBJECT (c), "aggiornato", @@ -404,6 +414,8 @@ static void territorio_regioni_on_btn_elimina_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *dialog; gboolean risp; @@ -415,6 +427,16 @@ territorio_regioni_on_btn_elimina_clicked (GtkButton *button, if (gtk_tree_selection_get_selected (priv->selection, NULL, &iter)) { + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a eliminare le regioni."); + return; + } + dialog = gtk_message_dialog_new (priv->wtransient, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, diff --git a/src/stati.c b/src/stati.c index 9ce4caa..b9a61fc 100644 --- a/src/stati.c +++ b/src/stati.c @@ -328,7 +328,6 @@ static void territorio_stati_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { TerritorioStati *territorio_stati = TERRITORIO_STATI (object); - TerritorioStatiPrivate *priv = TERRITORIO_STATI_GET_PRIVATE (territorio_stati); switch (property_id) @@ -343,7 +342,6 @@ static void territorio_stati_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { TerritorioStati *territorio_stati = TERRITORIO_STATI (object); - TerritorioStatiPrivate *priv = TERRITORIO_STATI_GET_PRIVATE (territorio_stati); switch (property_id) @@ -378,11 +376,23 @@ static void territorio_stati_on_btn_nuovo_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *w; TerritorioStati *territorio_stati = (TerritorioStati *)user_data; TerritorioStatiPrivate *priv = TERRITORIO_STATI_GET_PRIVATE (territorio_stati); + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a creare nuovi stati."); + return; + } + TerritorioStato *c = territorio_stato_new (priv->commons, 0); g_signal_connect (G_OBJECT (c), "aggiornato", @@ -404,6 +414,8 @@ static void territorio_stati_on_btn_elimina_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *dialog; gboolean risp; @@ -415,6 +427,16 @@ territorio_stati_on_btn_elimina_clicked (GtkButton *button, if (gtk_tree_selection_get_selected (priv->selection, NULL, &iter)) { + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a eliminare gli stati."); + return; + } + dialog = gtk_message_dialog_new (priv->wtransient, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, diff --git a/src/tipiaggregazioneterritoriale.c b/src/tipiaggregazioneterritoriale.c index a1fb453..600fc0f 100644 --- a/src/tipiaggregazioneterritoriale.c +++ b/src/tipiaggregazioneterritoriale.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Andrea Zagli + * Copyright (C) 2010-2011 Andrea Zagli * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -319,7 +319,6 @@ static void territorio_tipi_aggregazione_territoriale_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { TerritorioTipiAggregazioneTerritoriale *territorio_tipi_aggregazione_territoriale = TERRITORIO_TIPI_AGGREGAZIONE_TERRITORIALE (object); - TerritorioTipiAggregazioneTerritorialePrivate *priv = TERRITORIO_TIPI_AGGREGAZIONE_TERRITORIALE_GET_PRIVATE (territorio_tipi_aggregazione_territoriale); switch (property_id) @@ -334,7 +333,6 @@ static void territorio_tipi_aggregazione_territoriale_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { TerritorioTipiAggregazioneTerritoriale *territorio_tipi_aggregazione_territoriale = TERRITORIO_TIPI_AGGREGAZIONE_TERRITORIALE (object); - TerritorioTipiAggregazioneTerritorialePrivate *priv = TERRITORIO_TIPI_AGGREGAZIONE_TERRITORIALE_GET_PRIVATE (territorio_tipi_aggregazione_territoriale); switch (property_id) @@ -350,11 +348,23 @@ static void territorio_tipi_aggregazione_territoriale_on_btn_nuovo_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *w; TerritorioTipiAggregazioneTerritoriale *territorio_tipi_aggregazione_territoriale = (TerritorioTipiAggregazioneTerritoriale *)user_data; TerritorioTipiAggregazioneTerritorialePrivate *priv = TERRITORIO_TIPI_AGGREGAZIONE_TERRITORIALE_GET_PRIVATE (territorio_tipi_aggregazione_territoriale); + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a creare nuovi tipi di aggregazioni territoriali."); + return; + } + TerritorioTipoAggregazioneTerritoriale *c = territorio_tipo_aggregazione_territoriale_new (priv->commons, 0); g_signal_connect (G_OBJECT (c), "aggiornato", @@ -376,6 +386,8 @@ static void territorio_tipi_aggregazione_territoriale_on_btn_elimina_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *dialog; gboolean risp; @@ -387,6 +399,16 @@ territorio_tipi_aggregazione_territoriale_on_btn_elimina_clicked (GtkButton *but if (gtk_tree_selection_get_selected (priv->selection, NULL, &iter)) { + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a eliminare i tipi aggregazione territoriale."); + return; + } + dialog = gtk_message_dialog_new (priv->wtransient, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, diff --git a/src/vie.c b/src/vie.c index e504b81..7bad6e0 100644 --- a/src/vie.c +++ b/src/vie.c @@ -519,11 +519,23 @@ static void territorio_vie_on_btn_nuovo_clicked (GtkButton *button, gpointer user_data) { + AutozIResource *ires1; + GtkWidget *w; TerritorioVie *territorio_vie = (TerritorioVie *)user_data; TerritorioViePrivate *priv = TERRITORIO_VIE_GET_PRIVATE (territorio_vie); + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a creare nuove vie."); + return; + } + TerritorioVia *c = territorio_via_new (priv->commons, 0); g_signal_connect (G_OBJECT (c), "aggiornato", @@ -557,6 +569,16 @@ territorio_vie_on_btn_elimina_clicked (GtkButton *button, TerritorioVie *territorio_vie = (TerritorioVie *)user_data; TerritorioViePrivate *priv = TERRITORIO_VIE_GET_PRIVATE (territorio_vie); + ires1 = autoz_get_resource_from_id (priv->commons->autoz, "territorio_rw"); + if (!autoz_is_allowed (priv->commons->autoz, priv->commons->role_utente, ires1, FALSE)) + { + solipa_message_dialog (GTK_WIDGET (priv->wtransient), + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati a eliminare le vie."); + return; + } + if (gtk_tree_selection_get_selected (priv->selection, NULL, &iter)) { gtk_tree_model_get (GTK_TREE_MODEL (priv->lstore_vie), &iter,