From 71fdf34eb90d8f6aef07d9378458bc3c194e0799 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Mon, 15 Feb 2016 16:14:34 +0100 Subject: [PATCH] Initial import. --- .gitignore | 52 + AUTHORS | 1 + Makefile.am | 22 + NEWS | 0 README | 0 configure.ac | 101 + data/Makefile.am | 1 + data/bcity_be/Makefile.am | 1 + data/bcity_be/form/Makefile.am | 23 + data/bcity_be/gui/Makefile.am | 5 + data/bcity_be/gui/bcity_be.ui | 7207 ++++++++++++++++++++++++ data/bcity_be/images/Makefile.am | 13 + data/bcity_be/images/bcity_be.ico | Bin 0 -> 136444 bytes data/bcity_be/images/bcity_be.svg | 2529 +++++++++ data/bcity_be/images/bcity_be128.png | Bin 0 -> 16730 bytes data/bcity_be/images/bcity_be16.png | Bin 0 -> 870 bytes data/bcity_be/images/bcity_be256.png | Bin 0 -> 36857 bytes data/bcity_be/images/bcity_be32.png | Bin 0 -> 2258 bytes data/bcity_be/images/bcity_be48.png | Bin 0 -> 4697 bytes data/bcity_be/images/bcity_be64.png | Bin 0 -> 6174 bytes data/bcity_be/query_editor/Makefile.am | 12 + doc/Makefile.am | 1 + doc/bcity_be/Makefile.am | 1 + doc/bcity_be/examples/Makefile.am | 6 + doc/bcity_be/examples/bcity_be.conf | 33 + installers/Makefile.am | 1 + installers/msys2/Makefile.am | 4 + installers/msys2/bcity_be.conf | 37 + installers/msys2/bcity_be.nsi | 64 + installers/msys2/make_installer.sh.in | 176 + src/Makefile.am | 36 + src/commons.h | 77 + src/main.c | 801 +++ src/resources.rc.in | 25 + 34 files changed, 11229 insertions(+) create mode 100644 .gitignore create mode 100644 AUTHORS create mode 100644 Makefile.am create mode 100644 NEWS create mode 100644 README create mode 100644 configure.ac create mode 100644 data/Makefile.am create mode 100644 data/bcity_be/Makefile.am create mode 100644 data/bcity_be/form/Makefile.am create mode 100644 data/bcity_be/gui/Makefile.am create mode 100644 data/bcity_be/gui/bcity_be.ui create mode 100644 data/bcity_be/images/Makefile.am create mode 100644 data/bcity_be/images/bcity_be.ico create mode 100644 data/bcity_be/images/bcity_be.svg create mode 100644 data/bcity_be/images/bcity_be128.png create mode 100644 data/bcity_be/images/bcity_be16.png create mode 100644 data/bcity_be/images/bcity_be256.png create mode 100644 data/bcity_be/images/bcity_be32.png create mode 100644 data/bcity_be/images/bcity_be48.png create mode 100644 data/bcity_be/images/bcity_be64.png create mode 100644 data/bcity_be/query_editor/Makefile.am create mode 100644 doc/Makefile.am create mode 100644 doc/bcity_be/Makefile.am create mode 100644 doc/bcity_be/examples/Makefile.am create mode 100644 doc/bcity_be/examples/bcity_be.conf create mode 100644 installers/Makefile.am create mode 100644 installers/msys2/Makefile.am create mode 100644 installers/msys2/bcity_be.conf create mode 100644 installers/msys2/bcity_be.nsi create mode 100644 installers/msys2/make_installer.sh.in create mode 100644 src/Makefile.am create mode 100644 src/commons.h create mode 100644 src/main.c create mode 100644 src/resources.rc.in diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1cc121c --- /dev/null +++ b/.gitignore @@ -0,0 +1,52 @@ +*.o +*~ +src/cancelleria +src/resources.rc +COPYING +INSTALL +Makefile +Makefile.in +aclocal.m4 +autom4te.cache/ +config.guess +config.h +config.log +config.status +config.sub +configure +configure.lineno +Makefile +Makefile.in +depcomp +install-sh +missing +.deps +depcomp +install-sh +missing +src/.deps/ +src/Makefile +src/Makefile.in +stamp-h1 +.anjuta* +*.exe +cancelleria*tar* +cancelleria*.7z +*.odt# +*.backup +*.bak +installers/*/make_installer.sh +installers/*/tmp +compile +config.h.in +ar-lib +libtool +.dirstamp +*.lo +*.la +ltmain.sh +.libs +m4 +po +confdefs.h +conftest.dir \ No newline at end of file diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..ad1de0f --- /dev/null +++ b/AUTHORS @@ -0,0 +1 @@ +Andrea Zagli diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..b693691 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,22 @@ +SUBDIRS = src data doc installers + +distclean-local: + if test "$(srcdir)" = "."; then :; else \ + rm -f ChangeLog; \ + fi + +ChangeLog: + @echo Creating $@ + @if test -d "$(srcdir)/.git"; then \ + (GIT_DIR=$(top_srcdir)/.git ./missing --run git log --stat -M -C --name-status --date=short --no-color) | fmt --split-only > $@.tmp \ + && mv -f $@.tmp $@ \ + || ($(RM) $@.tmp; \ + echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \ + (test -f $@ || echo git-log is required to generate this file >> $@)); \ + else \ + test -f $@ || \ + (echo A git checkout and git-log is required to generate ChangeLog >&2 && \ + echo A git checkout and git-log is required to generate this file >> $@); \ + fi + +.PHONY: ChangeLog diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/README b/README new file mode 100644 index 0000000..e69de29 diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..0c017dd --- /dev/null +++ b/configure.ac @@ -0,0 +1,101 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +m4_define(maj, 0) +m4_define(min, 0) +m4_define(mic, 1) + +AC_PREREQ(2.65) +AC_INIT([bcity_be], [maj.min.mic], []) +AC_CONFIG_SRCDIR([src/main.c]) +AC_CONFIG_HEADER([config.h]) + +AM_INIT_AUTOMAKE(-Wall) + +m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) + +AM_MAINTAINER_MODE + +AC_CANONICAL_SYSTEM + +AC_CONFIG_MACRO_DIR([m4]) + +# Checks for programs. +AC_PROG_CC + +# Checks for libraries. +PKG_CHECK_MODULES(CANCELLERIA, [gtk+-3.0 >= 3.0 + libgdaex >= 0.5.0 + libgdaexgrid + libzakutils + libsoup-2.4 + libsolipa >= 0.5.0 + libzakaudit >= 0.5.0 + libautoz >= 0.0.5 + libaute >= 0.2.0 + libzakgtkdecoder + libzakgtkdecodergdaexqe + libzakform + libzakformgtk + libzakformgtkdecoder + libzakformgdaex + libterritorio + liborganigramma]) + +AC_SUBST(BCITYBE_CFLAGS) +AC_SUBST(BCITYBE_LIBS) + +# Checks for header files. + +# Checks for typedefs, structures, and compiler characteristics. + +dnl ****************************** +dnl Translations +dnl ****************************** +GETTEXT_PACKAGE=bcity_be +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", + [The prefix for our gettext translation domains.]) +AM_GLIB_GNU_GETTEXT + +# Checks for library functions. + +dnl ****************************** +dnl Check for Operating System +dnl ****************************** + +platform_win32=no + +case "$host" in +*-mingw*) + platform_win32=yes + AC_CHECK_TOOL(WINDRES, windres, windres) + AC_SUBST(WINDRES) + ;; +esac + +AM_CONDITIONAL(PLATFORM_WIN32, [test $platform_win32 = yes]) + +AC_SUBST(V_MAJOR, maj) +AC_SUBST(V_MINOR, min) +AC_SUBST(V_MICRO, mic) + +AC_CONFIG_FILES([ + Makefile + src/Makefile + src/resources.rc + data/Makefile + data/bcity_be/Makefile + data/bcity_be/form/Makefile + data/bcity_be/gui/Makefile + data/bcity_be/images/Makefile + data/bcity_be/query_editor/Makefile + doc/Makefile + doc/bcity_be/Makefile + doc/bcity_be/examples/Makefile + installers/Makefile + installers/msys2/Makefile + installers/msys2/make_installer.sh +]) + +AC_OUTPUT diff --git a/data/Makefile.am b/data/Makefile.am new file mode 100644 index 0000000..daba128 --- /dev/null +++ b/data/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = bcity_be diff --git a/data/bcity_be/Makefile.am b/data/bcity_be/Makefile.am new file mode 100644 index 0000000..64c3f3e --- /dev/null +++ b/data/bcity_be/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = form gui images query_editor diff --git a/data/bcity_be/form/Makefile.am b/data/bcity_be/form/Makefile.am new file mode 100644 index 0000000..6718df2 --- /dev/null +++ b/data/bcity_be/form/Makefile.am @@ -0,0 +1,23 @@ +formdir = $(datadir)/$(PACKAGE)/form + +form_DATA = \ + articolo.form \ + articoloallegato.form \ + articolodisponibilita.form \ + articoloimmagine.form \ + articoloopzione.form \ + categoriaarticolo.form \ + fornitore.form \ + fornitoreallegato.form \ + fornitorerecapito.form \ + iva.form \ + ordine.form \ + ordineallegato.form \ + ordineriga.form \ + tipo_quantita.form \ + tipo_recapito.form \ + ufficio.form \ + ufficiobudget.form \ + ufficioordineminimo.form + +EXTRA_DIST = $(form_DATA) diff --git a/data/bcity_be/gui/Makefile.am b/data/bcity_be/gui/Makefile.am new file mode 100644 index 0000000..2b74cce --- /dev/null +++ b/data/bcity_be/gui/Makefile.am @@ -0,0 +1,5 @@ +guidir = $(datadir)/$(PACKAGE)/gui + +gui_DATA = bcity_be.ui + +EXTRA_DIST = $(gui_DATA) diff --git a/data/bcity_be/gui/bcity_be.ui b/data/bcity_be/gui/bcity_be.ui new file mode 100644 index 0000000..b9235ff --- /dev/null +++ b/data/bcity_be/gui/bcity_be.ui @@ -0,0 +1,7207 @@ + + + + + + + False + Articoli - Gestione ordini cancelleria + True + center-on-parent + 550 + 400 + True + + + True + False + 5 + vertical + 5 + + + True + False + <b>Articoli</b> + True + + + False + True + 0 + + + + + True + True + etched-in + + + + + + True + True + 1 + + + + + True + False + 5 + end + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-find + True + True + True + True + + + True + True + 3 + + + + + gtk-cancel + True + True + True + True + + + False + False + 4 + + + + + gtk-ok + True + True + True + True + + + False + False + 5 + + + + + False + True + 2 + + + + + + + False + Ricerca articoli - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + + + + True + False + + + False + True + 1 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-ok + True + True + True + True + + + False + False + 1 + + + + + False + True + 2 + + + + + + + False + Articolo - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + False + ID + 0 + + + 0 + 0 + + + + + True + False + True + lbl_id + 0 + + + 1 + 0 + + + + + True + False + + + 1 + 1 + + + + + True + False + Categoria + 0 + + + 0 + 1 + + + + + True + False + Fornitore + 0 + + + 0 + 3 + + + + + True + False + + + 1 + 3 + + + + + True + False + Descrizione + 0 + + + 0 + 2 + + + + + True + True + True + 100 + • + False + False + + + 1 + 2 + + + + + True + False + Codice fornitore + 0 + + + 0 + 4 + + + + + True + True + True + 255 + • + False + False + + + 1 + 4 + + + + + True + False + + + 1 + 5 + + + + + True + False + Tipo quantità + 0 + + + 0 + 5 + + + + + True + False + Prezzo unitario + 0 + + + 0 + 6 + + + + + True + True + True + • + False + False + + + 1 + 6 + + + + + True + False + IVA + 0 + + + 0 + 7 + + + + + True + False + + + 1 + 7 + + + + + True + True + 5 + 5 + True + True + + + True + True + 5 + 5 + 5 + 5 + etched-in + + + True + True + + + + + + + True + False + Note + + + False + + + + + True + False + 5 + 5 + 5 + 5 + 5 + + + True + True + etched-in + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + False + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + False + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + False + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + 1 + + + + + True + False + Periodi disponibilità + + + 1 + False + + + + + True + False + 5 + 5 + 5 + 5 + 5 + + + True + True + etched-in + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + False + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + False + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + False + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + 2 + + + + + True + False + Opzioni + + + 2 + False + + + + + True + False + 5 + 5 + 5 + 5 + 5 + + + True + True + etched-in + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + False + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + False + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + False + True + True + True + True + + + False + False + 2 + + + + + gtk-open + True + True + True + True + + + True + True + 3 + + + + + False + True + 1 + + + + + 3 + + + + + True + False + Immagini + + + 3 + False + + + + + True + False + 5 + 5 + 5 + 5 + 5 + + + True + True + etched-in + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + False + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + False + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + False + True + True + True + True + + + False + False + 2 + + + + + gtk-open + True + True + True + True + + + True + True + 3 + + + + + False + True + 1 + + + + + 4 + + + + + True + False + Allegati + + + 4 + False + + + + + 0 + 8 + 2 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + False + Allegato dell'articolo - Gestione ordini cancelleria + True + 500 + 300 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + False + True + lbl_id + + + 0 + 5 + + + + + True + False + Descrizione + 0 + + + 0 + 1 + + + + + True + True + True + 255 + • + True + False + False + + + 1 + 1 + + + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 3 + + + + + True + True + True + 10 + • + True + False + False + + + 1 + 2 + + + + + True + True + True + 255 + • + True + False + False + + + 1 + 0 + + + + + True + False + True + 0 + + + True + False + True + 5 + 5 + 5 + 5 + + + + + + + + True + False + <b>File</b> + True + + + + + 0 + 4 + 2 + + + + + False + True + True + lbl_id_articoli + + + 1 + 5 + + + + + True + False + Titolo + 0 + + + 0 + 0 + + + + + True + False + Data documento + 0 + + + 0 + 2 + + + + + True + False + Note + 0 + 0 + + + 0 + 3 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + True + True + 2 + + + + + False + True + 1 + + + + + + + False + Periodo di disponibilità dell'articolo - Gestione ordini cancelleria + True + 500 + 300 + True + + + True + False + True + True + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + True + 10 + ● + False + False + + + 1 + 0 + + + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 2 + + + + + False + True + lbl_id_articoli + + + 1 + 3 + + + + + True + True + 10 + ● + False + False + + + 1 + 1 + + + + + True + False + Data da + 0 + + + 0 + 0 + + + + + True + False + Data a + 0 + + + 0 + 1 + + + + + True + False + Note + 0 + 0 + + + 0 + 2 + + + + + False + True + lbl_id + + + 0 + 3 + + + + + True + True + 0 + + + + + True + False + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + False + Immagine dell'articolo - Gestione ordini cancelleria + True + 500 + 300 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + False + True + lbl_id + + + 0 + 5 + + + + + True + False + Descrizione + 0 + + + 0 + 1 + + + + + True + True + True + 255 + • + True + False + False + + + 1 + 1 + + + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 3 + + + + + True + True + True + 10 + • + True + False + False + + + 1 + 2 + + + + + True + True + True + 255 + • + True + False + False + + + 1 + 0 + + + + + True + False + True + 0 + + + True + False + True + 5 + 5 + 5 + 5 + + + + + + + + True + False + <b>File</b> + True + + + + + 0 + 4 + 2 + + + + + False + True + True + lbl_id_articoli + + + 1 + 5 + + + + + True + False + Titolo + 0 + + + 0 + 0 + + + + + True + False + Data documento + 0 + + + 0 + 2 + + + + + True + False + Note + 0 + 0 + + + 0 + 3 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + True + True + 2 + + + + + False + True + 1 + + + + + + + False + Opzione dell'articolo - Gestione ordini cancelleria + True + 500 + 300 + True + + + True + False + True + True + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 4 + + + + + False + True + lbl_id_articoli + + + 1 + 5 + + + + + True + False + Note + 0 + 0 + + + 0 + 4 + + + + + False + True + lbl_id + + + 0 + 5 + + + + + True + False + Descrizione + 0 + + + 0 + 0 + + + + + True + True + True + 100 + • + False + False + + + 1 + 0 + + + + + True + False + Codice fornitore + 0 + + + 0 + 1 + + + + + True + True + True + 255 + • + False + False + + + 1 + 1 + + + + + True + False + Tipo quantità + 0 + + + 0 + 2 + + + + + True + False + True + + + 1 + 2 + + + + + True + False + Prezzo unitario + 0 + + + 0 + 3 + + + + + True + True + True + • + False + False + + + 1 + 3 + + + + + False + True + lbl_id_articolo_opzioni + + + 0 + 6 + + + + + + + + True + True + 0 + + + + + True + False + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + False + Categoria articolo - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + False + ID + 0 + + + 0 + 0 + + + + + True + False + True + lbl_id + 0 + + + 1 + 0 + + + + + True + True + True + 100 + • + False + False + + + 1 + 2 + + + + + True + False + Descrizione + 0 + + + 0 + 2 + + + + + True + False + Genitore + 0 + + + 0 + 1 + + + + + True + False + + + 1 + 1 + + + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 3 + + + + + True + False + Note + 0 + 0 + + + 0 + 3 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + False + Categorie articolo - Gestione ordini cancelleria + True + center-on-parent + 550 + 400 + True + + + True + False + 5 + vertical + 5 + + + True + False + <b>Categorie articolo</b> + True + + + False + True + 0 + + + + + True + True + etched-in + + + + + + True + True + 1 + + + + + True + False + 5 + end + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-cancel + True + True + True + True + + + False + False + 4 + + + + + gtk-ok + True + True + True + True + + + False + False + 5 + + + + + False + True + 2 + + + + + + + False + Fornitore - Gestione ordini cancelleria + True + center-on-parent + 600 + 400 + True + + + True + False + 5 + vertical + 5 + + + True + False + 5 + 5 + + + True + False + lbl_id + 0 + + + 1 + 0 + + + + + True + True + 255 + ● + True + False + False + + + 1 + 1 + 3 + + + + + True + True + 16 + ● + True + False + False + + + 1 + 2 + + + + + True + True + 11 + ● + True + False + False + + + 1 + 3 + + + + + True + True + 255 + ● + True + False + False + + + 1 + 4 + + + + + True + False + Civico + 0 + + + 2 + 4 + + + + + True + True + 10 + ● + True + 5 + False + False + + + 3 + 4 + + + + + True + False + CAP + 0 + + + 2 + 5 + + + + + True + True + 5 + ● + True + 5 + False + False + + + 3 + 5 + + + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 6 + 3 + + + + + True + False + ID + 0 + + + 0 + 0 + + + + + True + False + Ragione sociale + 0 + + + 0 + 1 + + + + + True + False + Codice fiscale + 0 + + + 0 + 2 + + + + + True + False + Partita IVA + 0 + + + 0 + 3 + + + + + True + False + Via + 0 + + + 0 + 4 + + + + + True + False + Città + 0 + + + 0 + 5 + + + + + True + False + Note + 0 + 0 + + + 0 + 6 + + + + + True + True + True + True + + + True + False + 5 + 5 + 5 + 5 + 5 + + + True + True + etched-in + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + False + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + False + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + False + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + True + False + Recapiti + + + False + + + + + True + False + 5 + 5 + 5 + 5 + 5 + + + True + True + etched-in + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + False + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + False + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + False + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + 1 + + + + + True + False + Persone + + + 1 + False + + + + + True + False + 5 + 5 + 5 + + + True + True + etched-in + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + False + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + False + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + False + True + True + True + True + + + False + False + 2 + + + + + gtk-open + True + True + True + True + + + True + True + 3 + + + + + False + True + 1 + + + + + 2 + + + + + True + False + Allegati + + + 2 + False + + + + + 0 + 7 + 4 + + + + + True + False + + + 1 + 5 + + + + + + + + + + + + + + + + + + + + + + + True + True + 0 + + + + + True + False + 5 + end + + + gtk-cancel + False + True + True + True + True + + + False + False + 0 + + + + + gtk-save + False + True + True + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + True + True + 2 + + + + + False + True + 1 + + + + + + + False + Allegato del fornitore - Gestione ordini cancelleria + True + 500 + 300 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + False + True + lbl_id + + + 0 + 5 + + + + + True + False + Descrizione + 0 + + + 0 + 1 + + + + + True + True + True + 255 + • + True + False + False + + + 1 + 1 + + + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 3 + + + + + True + True + True + 10 + • + True + False + False + + + 1 + 2 + + + + + True + True + True + 255 + • + True + False + False + + + 1 + 0 + + + + + True + False + True + 0 + + + True + False + True + 5 + 5 + 5 + 5 + + + + + + + + True + False + <b>File</b> + True + + + + + 0 + 4 + 2 + + + + + False + True + True + lbl_id_fornitori + + + 1 + 5 + + + + + True + False + Titolo + 0 + + + 0 + 0 + + + + + True + False + Data documento + 0 + + + 0 + 2 + + + + + True + False + Note + 0 + 0 + + + 0 + 3 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + True + True + 2 + + + + + False + True + 1 + + + + + + + False + Recapito del fornitore - Gestione ordini cancelleria + True + 500 + 300 + True + + + True + False + True + True + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + True + True + 255 + ● + False + False + + + 1 + 1 + + + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 3 + + + + + False + True + lbl_id_fornitori + + + 1 + 4 + + + + + True + False + Note + 0 + 0 + + + 0 + 3 + + + + + False + True + lbl_id + + + 0 + 4 + + + + + True + False + Tipo recapito + 0 + + + 0 + 0 + + + + + True + False + + + 1 + 0 + + + + + True + False + Recapito + 0 + + + 0 + 1 + + + + + True + False + Preferito + 0 + + + 0 + 2 + + + + + True + True + False + 0 + True + + + 1 + 2 + + + + + True + True + 0 + + + + + True + False + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + False + Fornitori - Gestione ordini cancelleria + True + center-on-parent + 550 + 400 + True + + + True + False + 5 + vertical + 5 + + + True + False + <b>Fornitori</b> + True + + + False + True + 0 + + + + + True + True + etched-in + + + + + + True + True + 1 + + + + + True + False + 5 + end + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-find + True + True + True + True + + + True + True + 3 + + + + + gtk-cancel + True + True + True + True + + + False + False + 4 + + + + + gtk-ok + True + True + True + True + + + False + False + 5 + + + + + False + True + 2 + + + + + + + False + Ricerca fornitori - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + + + + True + False + + + False + True + 1 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-ok + True + True + True + True + + + False + False + 1 + + + + + False + True + 2 + + + + + + + False + IVA - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + False + ID + 0 + + + 0 + 0 + + + + + True + False + True + lbl_id + 0 + + + 1 + 0 + + + + + True + True + True + 100 + • + False + False + + + 1 + 1 + + + + + True + False + Descrizione + 0 + + + 0 + 1 + + + + + True + False + Aliquota + 0 + + + 0 + 2 + + + + + True + True + True + 100 + • + False + False + + + 1 + 2 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + False + IVA - Gestione ordini cancelleria + True + center-on-parent + 550 + 400 + True + + + True + False + 5 + vertical + 5 + + + True + False + <b>IVA</b> + True + + + False + True + 0 + + + + + True + True + etched-in + + + + + + True + True + 1 + + + + + True + False + 5 + end + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-find + True + True + True + True + + + True + True + 3 + + + + + gtk-cancel + True + True + True + True + + + False + False + 4 + + + + + gtk-ok + True + True + True + True + + + False + False + 5 + + + + + False + True + 2 + + + + + + + False + Ricerca IVA - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + + + + True + False + + + False + True + 1 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-ok + True + True + True + True + + + False + False + 1 + + + + + False + True + 2 + + + + + + + False + Gestione ordini cancelleria + center + 750 + 520 + + + + True + False + vertical + + + True + False + + + True + False + _File + True + + + True + False + + + gtk-quit + True + False + True + True + + + + + + + + + + True + False + _Visualizza + True + + + True + False + + + True + False + _Ordini + True + + + + + + + + + + True + False + _Tabelle + True + + + True + False + + + True + False + _IVA + True + + + + + + True + False + Tipi r_ecapito + True + + + + + + True + False + _Uffici + True + + + + + + True + False + _Fornitori + True + + + + + + True + False + _Articoli + True + + + + + + True + False + _Categorie articolo + True + + + + + + True + False + Tipi _quantità + True + + + + + + + + + + True + False + A_iuto + True + + + True + False + + + gtk-about + True + False + True + True + + + + + + + + + + False + True + 0 + + + + + True + False + vertical + + + + + + True + True + 1 + + + + + True + False + 2 + + + False + True + 2 + + + + + + + False + 5 + Informazioni su Gestione ordini cancelleria + True + center-on-parent + normal + w_main + Gestione ordini cancelleria + 0.0.1 + Andrea Zagli <a.zagli@comune.scandicci.fi.it> 2015-2016 + Andrea Zagli <a.zagli@comune.scandicci.fi.it> + image-missing + + + True + False + vertical + 2 + + + True + False + end + + + False + True + end + 0 + + + + + + + + + + False + Ordine - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + False + ID + 0 + + + 0 + 0 + + + + + True + False + True + lbl_id + 0 + + + 1 + 0 + + + + + True + False + Fornitore + 0 + + + 0 + 4 + + + + + True + False + + + 1 + 4 + + + + + True + False + Data + 0 + + + 0 + 3 + + + + + True + True + True + • + False + False + + + 1 + 3 + + + + + True + True + True + True + + + True + True + 5 + 5 + 5 + 5 + etched-in + + + True + True + + + + + + + True + False + Note + + + False + + + + + True + False + 5 + 5 + 5 + 5 + 5 + + + True + True + etched-in + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + False + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + False + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + False + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + 1 + + + + + True + False + Righe + + + 1 + False + + + + + True + False + 5 + 5 + 5 + 5 + 5 + + + True + True + etched-in + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + False + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + False + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + False + True + True + True + True + + + False + False + 2 + + + + + gtk-open + True + True + True + True + + + True + True + 3 + + + + + False + True + 1 + + + + + 2 + + + + + True + False + Allegati + + + 2 + False + + + + + 0 + 5 + 2 + + + + + True + False + Totale + 0 + + + 0 + 6 + + + + + True + True + False + + + 1 + 6 + + + + + True + False + Ufficio + 0 + + + 0 + 1 + + + + + True + False + + + 1 + 1 + + + + + True + False + Budget residuo + 0 + + + 0 + 2 + + + + + True + True + True + False + • + False + False + + + 1 + 2 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + _Completa + True + True + True + True + + + True + True + 0 + + + + + gtk-cancel + True + True + True + True + + + False + False + 1 + + + + + gtk-save + True + True + True + True + + + False + False + 2 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 3 + + + + + False + True + 1 + + + + + + + False + Allegato dell'ordine - Gestione ordini cancelleria + True + 500 + 300 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + False + True + lbl_id + + + 0 + 5 + + + + + True + False + Descrizione + 0 + + + 0 + 1 + + + + + True + True + True + 255 + • + True + False + False + + + 1 + 1 + + + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 3 + + + + + True + True + True + 10 + • + True + False + False + + + 1 + 2 + + + + + True + True + True + 255 + • + True + False + False + + + 1 + 0 + + + + + True + False + True + 0 + + + True + False + True + 5 + 5 + 5 + 5 + + + + + + + + True + False + <b>File</b> + True + + + + + 0 + 4 + 2 + + + + + False + True + True + lbl_id_ordini + + + 1 + 5 + + + + + True + False + Titolo + 0 + + + 0 + 0 + + + + + True + False + Data documento + 0 + + + 0 + 2 + + + + + True + False + Note + 0 + 0 + + + 0 + 3 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + True + True + 2 + + + + + False + True + 1 + + + + + + + False + Riga dell'ordine - Gestione ordini cancelleria + True + 500 + 300 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + False + True + lbl_id + + + 0 + 5 + + + + + True + False + Quantità + 0 + + + 0 + 2 + + + + + True + True + True + 255 + • + True + False + False + + + 1 + 2 + + + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 4 + + + + + False + True + True + lbl_id_ordini + + + 1 + 5 + + + + + True + False + Note + 0 + 0 + + + 0 + 4 + + + + + True + False + Articolo + 0 + + + 0 + 0 + + + + + True + False + True + + + 1 + 0 + + + + + True + False + Totale + 0 + + + 0 + 3 + + + + + True + True + True + False + 255 + • + True + False + False + + + 1 + 3 + + + + + True + False + Prezzo unitario + 0 + + + 0 + 1 + + + + + True + True + True + False + 255 + • + True + False + False + + + 1 + 1 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + True + True + 2 + + + + + False + True + 1 + + + + + + + False + Ordini - Gestione ordini cancelleria + True + center-on-parent + 550 + 400 + True + + + True + False + 5 + vertical + 5 + + + True + False + <b>Ordini</b> + True + + + False + True + 0 + + + + + True + True + etched-in + + + + + + True + True + 1 + + + + + True + False + 5 + end + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-find + True + True + True + True + + + True + True + 3 + + + + + gtk-cancel + True + True + True + True + + + False + False + 4 + + + + + gtk-ok + True + True + True + True + + + False + False + 5 + + + + + False + True + 2 + + + + + + + False + Ricerca ordini - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + + + + True + False + + + False + True + 1 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-ok + True + True + True + True + + + False + False + 1 + + + + + False + True + 2 + + + + + + + False + Tipi quantità - Gestione ordini cancelleria + True + center-on-parent + 550 + 400 + True + + + True + False + 5 + vertical + 5 + + + True + False + <b>Tipi quantità</b> + True + + + False + True + 0 + + + + + True + True + etched-in + + + + + + True + True + 1 + + + + + True + False + 5 + end + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-find + True + True + True + True + + + True + True + 3 + + + + + gtk-cancel + True + True + True + True + + + False + False + 4 + + + + + gtk-ok + True + True + True + True + + + False + False + 5 + + + + + False + True + 2 + + + + + + + False + Ricerca tipi quantità - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + + + + True + False + + + False + True + 1 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-ok + True + True + True + True + + + False + False + 1 + + + + + False + True + 2 + + + + + + + False + Tipi recapito - Gestione ordini cancelleria + True + center-on-parent + 550 + 400 + True + + + True + False + 5 + vertical + 5 + + + True + False + <b>Tipi recapito</b> + True + + + False + True + 0 + + + + + True + True + etched-in + + + + + + True + True + 1 + + + + + True + False + 5 + end + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-find + True + True + True + True + + + True + True + 3 + + + + + gtk-cancel + True + True + True + True + + + False + False + 4 + + + + + gtk-ok + True + True + True + True + + + False + False + 5 + + + + + False + True + 2 + + + + + + + False + Ricerca tipi recapito - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + + + + True + False + + + False + True + 1 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-ok + True + True + True + True + + + False + False + 1 + + + + + False + True + 2 + + + + + + + False + Tipo quantità - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + False + ID + 0 + + + 0 + 0 + + + + + True + False + True + lbl_id + 0 + + + 1 + 0 + + + + + True + True + True + 100 + • + False + False + + + 1 + 1 + + + + + True + False + Descrizione + 0 + + + 0 + 1 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + False + Tipo recapito - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + False + ID + 0 + + + 0 + 0 + + + + + True + False + True + lbl_id + 0 + + + 1 + 0 + + + + + True + True + True + 100 + • + False + False + + + 1 + 1 + + + + + True + False + Descrizione + 0 + + + 0 + 1 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + False + Uffici - Gestione ordini cancelleria + True + center-on-parent + 550 + 400 + True + + + True + False + 5 + vertical + 5 + + + True + False + <b>Uffici</b> + True + + + False + True + 0 + + + + + True + True + etched-in + + + + + + True + True + 1 + + + + + True + False + 5 + end + + + gtk-new + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + True + True + True + True + + + False + False + 2 + + + + + gtk-find + True + True + True + True + + + True + True + 3 + + + + + gtk-cancel + True + True + True + True + + + False + False + 4 + + + + + gtk-ok + True + True + True + True + + + False + False + 5 + + + + + False + True + 2 + + + + + + + False + Ricerca uffici - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + + + + True + False + + + False + True + 1 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-ok + True + True + True + True + + + False + False + 1 + + + + + False + True + 2 + + + + + + + False + Tipo quantità - Gestione ordini cancelleria + True + center-on-parent + 550 + True + + + True + False + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + False + ID + 0 + + + 0 + 0 + + + + + True + False + True + lbl_id + 0 + + + 1 + 0 + + + + + True + False + Ufficio + 0 + + + 0 + 1 + + + + + True + False + + + 1 + 1 + + + + + True + True + True + True + + + True + False + 5 + 5 + 5 + 5 + 5 + + + True + True + etched-in + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + False + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + False + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + False + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + True + False + Budget + + + False + + + + + True + False + 5 + 5 + 5 + 5 + 5 + + + True + True + etched-in + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + start + + + gtk-new + False + True + True + True + True + + + False + False + 0 + + + + + gtk-edit + False + True + True + True + True + + + False + False + 1 + + + + + gtk-delete + False + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + 1 + + + + + True + False + Ordine minimo + + + 1 + False + + + + + 0 + 2 + 2 + + + + + True + True + 0 + + + + + True + False + True + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + False + Budget dell'ufficio - Gestione ordini cancelleria + True + 500 + 300 + True + + + True + False + True + True + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + False + Budget + 0 + + + 0 + 0 + + + + + True + True + True + 255 + ● + False + False + + + 1 + 0 + + + + + True + True + 10 + ● + False + False + + + 1 + 1 + + + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 3 + + + + + False + lbl_id_uffici + + + 1 + 4 + + + + + True + True + 10 + ● + False + False + + + 1 + 2 + + + + + True + False + Data da + 0 + + + 0 + 1 + + + + + True + False + Data a + 0 + + + 0 + 2 + + + + + True + False + Note + 0 + 0 + + + 0 + 3 + + + + + False + lbl_id + + + 0 + 4 + + + + + True + True + 0 + + + + + True + False + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + + False + Ordine minimo dell'ufficio - Gestione ordini cancelleria + True + 500 + 300 + True + + + True + False + True + True + 5 + vertical + 5 + + + True + False + True + True + 5 + 5 + + + True + False + Importo + 0 + + + 0 + 0 + + + + + True + True + True + 255 + ● + False + False + + + 1 + 0 + + + + + True + True + 10 + ● + False + False + + + 1 + 1 + + + + + True + True + True + True + etched-in + + + True + True + + + + + 1 + 3 + + + + + False + lbl_id_uffici + + + 1 + 4 + + + + + True + True + 10 + ● + False + False + + + 1 + 2 + + + + + True + False + Data da + 0 + + + 0 + 1 + + + + + True + False + Data a + 0 + + + 0 + 2 + + + + + True + False + Note + 0 + 0 + + + 0 + 3 + + + + + False + lbl_id + + + 0 + 4 + + + + + True + True + 0 + + + + + True + False + 5 + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + Salva e _chiudi + True + True + True + True + + + False + False + 2 + + + + + False + True + 1 + + + + + + diff --git a/data/bcity_be/images/Makefile.am b/data/bcity_be/images/Makefile.am new file mode 100644 index 0000000..91ccaae --- /dev/null +++ b/data/bcity_be/images/Makefile.am @@ -0,0 +1,13 @@ +imagesdir = $(datadir)/$(PACKAGE)/images + +images_DATA = \ + cancelleria.ico + +EXTRA_DIST = \ + cancelleria.svg \ + cancelleria16.png \ + cancelleria32.png \ + cancelleria48.png \ + cancelleria64.png \ + cancelleria128.png \ + cancelleria256.png diff --git a/data/bcity_be/images/bcity_be.ico b/data/bcity_be/images/bcity_be.ico new file mode 100644 index 0000000000000000000000000000000000000000..9913f606dd97906d82e44771b4efbdfedc0b135f GIT binary patch literal 136444 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 + + + + + + + + + + + hash + + mime-types + computer + icons + + + + + Andy Fitzsimon + + + + + Andy Fitzsimon + + + + + Andy Fitzsimon + + + + image/svg+xml + + + en + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/bcity_be/images/bcity_be128.png b/data/bcity_be/images/bcity_be128.png new file mode 100644 index 0000000000000000000000000000000000000000..354c31370b4e5ef252ea17a8ac45edfc72309d19 GIT binary patch literal 16730 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�Nr8 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 literal 0 HcmV?d00001 diff --git a/data/bcity_be/images/bcity_be48.png b/data/bcity_be/images/bcity_be48.png new file mode 100644 index 0000000000000000000000000000000000000000..71a95a24a5bf9bdd8245cba70ca87a1362f1f38b GIT binary patch literal 4697 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 w!@0d^K!X3DJ`2ykW?VQwb&1 + _result=$? + if [ "$_result" -eq "0" ]; then + echo " archivegen succeeded. Created." + else + exit_cleanly "3" "archivegen failed. See $_log" + fi + cd - +} + +create_chroot_system() { + [ -d ${_tmpdir} ] && rm -rf ${_tmpdir} + mkdir -p "${_tmpdir}" + cd "${_tmpdir}" + + mkdir -p var/lib/pacman + mkdir -p var/log + mkdir -p tmp + + cd - + + pacman -Syu --root "${_tmpdir}" + pacman -S filesystem bash pacman --noconfirm --root "${_tmpdir}" + _result=$? + if [ "$_result" -ne "0" ]; then + exit_cleanly "1" "failed to create base data via command 'pacman -S filesystem bash pacman --noconfirm --root ${_tmpdir}'" + fi +} + +install_packages() { + pacman -S mingw-w64-${_arch}-librsvg mingw-w64-${_arch}-python2 mingw-w64-${_arch}-libautesmbldap mingw-w64-${_arch}-cancelleria mingw-w64-${_arch}-adwaita-icon-theme mingw-w64-${_arch}-libreptool --noconfirm --root "${_tmpdir}" + _result=$? + if [ "$_result" -ne "0" ]; then + exit_cleanly "1" "failed to create tmpdir via command 'pacman -S sos --noconfirm --root ${_tmpdir}'" + fi +} + +echo "Creating chroot system ${_tmpdir}" +create_chroot_system + +echo "Installing packages into ${_tmpdir}" +install_packages + +echo "Creating archive $_filename_zip" +[ -f $_filename_zip ] && rm -f $_filename_zip +create_archive + +echo "Creating installer $_filename_exe" +[ -f $_filename_exe ] && rm -f $_filename_exe + +# NSIS è solo a 32bit +if [ -d "/c/Program Files (x86)" ]; then + _programfiles="/c/Program Files (x86)" +else + _programfiles="/c/Program Files" +fi +"${_programfiles}/NSIS/makensis.exe" //DARCH=${_arch} //DVERSION=${_version} cancelleria.nsi + +[ -d ${_tmpdir} ] && rm -rf ${_tmpdir} + +exit_cleanly "0" "All done." diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..c9ff3cd --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,36 @@ +guidir = $(datadir)/$(PACKAGE)/gui +formdir = $(datadir)/$(PACKAGE)/form +imagesdir = $(datadir)/$(PACKAGE)/images +queryeditordir = $(datadir)/$(PACKAGE)/query_editor + +AM_CPPFLAGS = $(BCITYBE_CFLAGS) \ + -DGUIDIR=\""$(guidir)"\" \ + -DFORMDIR=\""$(formdir)"\" \ + -DIMAGESDIR=\""$(imagesdir)"\" \ + -DQUERYEDITORDIR=\""$(queryeditordir)"\" \ + -DLOCALEDIR=\"$(localedir)\" \ + -DSOLIPA_FOUND=1 + +LIBS = $(BCITYBE_LIBS) \ + -export-dynamic + +.rc.o: + $(WINDRES) $^ -o $@ + +resources.o: resources.rc + $(WINDRES) $^ -o $@ + +bin_PROGRAMS = bcity_be + +bcity_be_SOURCES = \ + commons.h \ + main.c + +if PLATFORM_WIN32 +EXTRALDFLAGS=-mconsole -mwindows +bcity_be_SOURCES += resources.rc +else +EXTRALDFLAGS= +endif + +bcity_be_LDFLAGS = $(EXTRALDFLAGS) diff --git a/src/commons.h b/src/commons.h new file mode 100644 index 0000000..87e6b06 --- /dev/null +++ b/src/commons.h @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2016 Andrea Zagli + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H + #include +#endif + +#ifndef __BCITYBE_COMMONS_H__ +#define __BCITYBE_COMMONS_H__ + + +#include + +#include + +#include +#include +#include +#include + +#include +#include + +typedef struct + { + gchar *guidir; + gchar *formdir; + gchar *imagesdir; + gchar *localedir; + gchar *queryeditordir; + + GtkBuilder *gtkbuilder; + + GdaEx *gdaex; + gulong hid_main_on_before_execute; + gulong hid_main_on_after_execute; + + const gchar *guifile; + + gchar *utente; + gchar *password; + + Autoz *autoz; + AutozIRole *role_utente; + + Solipa *solipa; + + TerritorioCommons *territorio_commons; + OrganigrammaCommons *organigramma_commons; + + gchar *smtp_uri; + gchar *visure_from; + gchar *visure_to; + CamelNetworkSecurityMethod visure_security_method; + gboolean smtp_use_auth; + gchar *visure_from_password; + + SoupSession *soup_session; + } BcityBECommons; + + +#endif /* __BCITYBE_COMMONS_H__ */ diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..e361004 --- /dev/null +++ b/src/main.c @@ -0,0 +1,801 @@ +/* + * Copyright (C) 2015 Andrea Zagli + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H + #include +#endif + +#include +#include +#include + +#ifdef G_OS_WIN32 + #include +#endif + +#include + +#include +#include + +#include + +#include "commons.h" +#include "articoli.h" +#include "categoriearticolo.h" +#include "fornitori.h" +#include "lstiva.h" +#include "ordini.h" +#include "tipiquantita.h" +#include "tipirecapito.h" +#include "uffici.h" + +static CancelleriaCommons *commons; + +GKeyFile *config; + +ZakAudit *audit; + +GtkWidget *w; +GtkWidget *vbx_body; +GObject *vbx_body_obj; +GtkWidget *vbx_body_child; + +GdkPixbuf *pxb_icon; + +static gboolean +main_gestione_permessi () +{ + if (!autoz_is_allowed (commons->autoz, commons->role_utente, autoz_get_resource_from_id (commons->autoz, "cancelleria_rw"), FALSE) + && !autoz_is_allowed (commons->autoz, commons->role_utente, autoz_get_resource_from_id (commons->autoz, "cancelleria_ro"), FALSE)) + { + solipa_message_dialog (w, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Non si è autorizzati all'utilizzo di questo programma."); + return FALSE; + } + + return TRUE; +} + +static void +main_on_before_execute (gpointer instance, gpointer gda_stmt, gpointer user_data) +{ + GdaStatement *stmt = (GdaStatement *)gda_stmt; + + if (gda_statement_get_statement_type (stmt) == GDA_SQL_STATEMENT_UPDATE) + { + zak_audit_action_from_gdastatement (audit, ZAK_AUDIT_ACTION_BEFORE_UPDATE, commons->utente, "cancelleria", stmt); + } + else if (gda_statement_get_statement_type (stmt) == GDA_SQL_STATEMENT_DELETE) + { + zak_audit_action_from_gdastatement (audit, ZAK_AUDIT_ACTION_DELETE, commons->utente, "cancelleria", stmt); + } +} + +static void +main_on_after_execute (gpointer instance, gpointer gda_stmt, gpointer user_data) +{ + GdaStatement *stmt = (GdaStatement *)gda_stmt; + + if (gda_statement_get_statement_type (stmt) == GDA_SQL_STATEMENT_INSERT) + { + zak_audit_action_from_gdastatement (audit, ZAK_AUDIT_ACTION_INSERT, commons->utente, "cancelleria", stmt); + } + else if (gda_statement_get_statement_type (stmt) == GDA_SQL_STATEMENT_UPDATE) + { + zak_audit_action_from_gdastatement (audit, ZAK_AUDIT_ACTION_AFTER_UPDATE, commons->utente, "cancelleria", stmt); + } +} + +static void +main_set_vbx_body_child (GObject *cur_obj, GtkWidget *child) +{ + if (G_IS_OBJECT (vbx_body_obj)) + { + g_object_unref (vbx_body_obj); + } + + if (GTK_IS_WIDGET (vbx_body_child)) + { + gtk_container_remove (GTK_CONTAINER (vbx_body), vbx_body_child); + gtk_widget_destroy (vbx_body_child); + } + + vbx_body_obj = cur_obj; + vbx_body_child = child; + gtk_box_pack_start (GTK_BOX (vbx_body), vbx_body_child, TRUE, TRUE, 0); +} + +G_MODULE_EXPORT void +on_mnu_tabelle_lst_iva_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GtkWidget *vbx; + + LstIva *a = lst_iva_new (commons, FALSE); + + vbx = lst_iva_get_widget (a); + + main_set_vbx_body_child (G_OBJECT (a), vbx); +} + +G_MODULE_EXPORT void +on_mnu_tabelle_tipi_recapito_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GtkWidget *vbx; + + TipiRecapito *a = tipi_recapito_new (commons, FALSE); + + vbx = tipi_recapito_get_widget (a); + + main_set_vbx_body_child (G_OBJECT (a), vbx); +} + +G_MODULE_EXPORT void +on_mnu_tabelle_fornitori_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GtkWidget *vbx; + + Fornitori *a = fornitori_new (commons, FALSE); + + vbx = fornitori_get_widget (a); + + main_set_vbx_body_child (G_OBJECT (a), vbx); +} + +G_MODULE_EXPORT void +on_mnu_tabelle_categorie_articolo_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GtkWidget *vbx; + + CategorieArticolo *a = categorie_articolo_new (commons, FALSE); + + vbx = categorie_articolo_get_widget (a); + + main_set_vbx_body_child (G_OBJECT (a), vbx); +} + +G_MODULE_EXPORT void +on_mnu_tabelle_articoli_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GtkWidget *vbx; + + Articoli *a = articoli_new (commons, FALSE); + + vbx = articoli_get_widget (a); + + main_set_vbx_body_child (G_OBJECT (a), vbx); +} + +G_MODULE_EXPORT void +on_mnu_tabelle_tipi_quantita_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GtkWidget *vbx; + + TipiQuantita *a = tipi_quantita_new (commons, FALSE); + + vbx = tipi_quantita_get_widget (a); + + main_set_vbx_body_child (G_OBJECT (a), vbx); +} + +G_MODULE_EXPORT void +on_mnu_tabelle_uffici_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GtkWidget *vbx; + + Uffici *a = uffici_new (commons, FALSE); + + vbx = uffici_get_widget (a); + + main_set_vbx_body_child (G_OBJECT (a), vbx); +} + +G_MODULE_EXPORT void +on_mnu_view_ordini_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GtkWidget *vbx; + + Ordini *a = ordini_new (commons, FALSE); + + vbx = ordini_get_widget (a); + + main_set_vbx_body_child (G_OBJECT (a), vbx); +} + +G_MODULE_EXPORT void +on_mnu_help_about_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GError *error; + GtkWidget *diag; + + error = NULL; + gtk_builder_add_objects_from_file (commons->gtkbuilder, commons->guifile, + g_strsplit_set ("dlg_about", "|", -1), + &error); + if (error != NULL) + { + g_error ("Errore: %s.", error->message); + } + + diag = GTK_WIDGET (gtk_builder_get_object (commons->gtkbuilder, "dlg_about")); + + if (pxb_icon == NULL) + { + pxb_icon = gdk_pixbuf_new_from_file_at_size (g_build_filename (commons->imagesdir, PACKAGE ".ico", NULL), + 64, 64, + NULL); + } + if (pxb_icon != NULL) + { + gtk_about_dialog_set_logo (GTK_ABOUT_DIALOG (diag), pxb_icon); + } + + gtk_dialog_run (GTK_DIALOG (diag)); + gtk_widget_destroy (diag); +} + +int +main (int argc, char *argv[]) +{ + GError *error; + + GdaConnection *gdacon; + GOptionContext *context; + + gchar *password; + + Aute *aute; + gchar **aute_params; + gsize n_aute_params; + GSList *sl_aute_params; + + gchar *cnc_string; + + gchar *security_method; + + gchar *sql; + GdaDataModel *dm; + + gint i; + +#ifdef G_OS_WIN32 + if (g_getenv ("LANG") == NULL + || g_strcmp0 (g_getenv ("LANG"), "IT") == 0) + { + /* in windows >= vista non legge correttamente la lingua del sistema */ + g_setenv ("LANG", "it_IT", TRUE); + } +#endif + + gtk_init (&argc, &argv); + + gda_init (); + + + /* inizializzazione commons */ + commons = (CancelleriaCommons *)g_new0 (CancelleriaCommons, 1); + + commons->password = NULL; + + commons->territorio_commons = (TerritorioCommons *)g_new0 (TerritorioCommons, 1); + commons->organigramma_commons = (OrganigrammaCommons *)g_new0 (OrganigrammaCommons, 1); + + commons->organigramma_commons->territorio_commons = commons->territorio_commons; + + commons->soup_session = NULL; + + /* leggo la configurazione dal file */ + if (argc == 1) + { + g_error ("Occorre passare a riga di comando il file di configurazione."); + return 0; + } + + error = NULL; + config = g_key_file_new (); + if (!g_key_file_load_from_file (config, argv[1], G_KEY_FILE_NONE, &error)) + { + g_error ("Impossibile caricare il file di configurazione specificato: %s\n%s", argv[1], + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + return 0; + } + + /* leggo i parametri per l'autenticazione */ + error = NULL; + aute_params = g_key_file_get_keys (config, "AUTE", &n_aute_params, &error); + if (aute_params == NULL) + { + g_error ("Impossibile leggere la configurazione per il sistema di autenticazione."); + return 0; + } + + sl_aute_params = NULL; + for (i = 0; i < n_aute_params; i++) + { + error = NULL; + sl_aute_params = g_slist_append (sl_aute_params, g_key_file_get_string (config, "AUTE", aute_params[i], &error)); + } + + g_strfreev (aute_params); + + /* autenticazione */ + aute = aute_new (); + aute_set_config (aute, sl_aute_params); + + password = NULL; + while (TRUE) + { + commons->utente = aute_autentica_get_password (aute, &password); + + if (commons->utente == NULL) + { + g_warning ("Nome utente o password non validi."); + } + else if (g_strcmp0 (commons->utente, "") == 0) + { + return 0; + } + else + { + break; + } + } + + commons->password = g_strdup (password); + g_free (password); + commons->territorio_commons->utente = g_strdup (commons->utente); + commons->organigramma_commons->utente = g_strdup (commons->utente); + + g_object_unref (aute); + + /* leggo i parametri per libautoz */ + error = NULL; + cnc_string = g_key_file_get_value (config, "AUTOZ", "cnc_string", &error); + if (cnc_string == NULL || error != NULL) + { + g_warning ("Impossibile leggere la stringa di connessione per libautoz dal file di configurazione: %s.", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + return 0; + } + + error = NULL; + gdacon = gda_connection_open_from_string (NULL, cnc_string, NULL, 0, &error); + if (gdacon == NULL || error != NULL) + { + g_warning ("Impossibile creare la connessione al db per libautoz: %s.", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + return 0; + } + + commons->autoz = autoz_new (); + if (commons->autoz == NULL) + { + g_warning ("Impossibile creare l'oggetto per libautoz."); + return 0; + } + if (!autoz_load_from_db (commons->autoz, gdacon, NULL, TRUE)) + { + g_warning ("Impossibile caricare la configurazione per libautoz dal db."); + return 0; + } + + commons->role_utente = autoz_get_role_from_id (commons->autoz, commons->utente); + if (commons->role_utente == NULL) + { + g_warning ("Utente «%s» non trovato nella configurazione di libautoz.", commons->utente); + return 0; + } + + autoz_set_role_name_prefix (commons->autoz, g_key_file_get_value (config, "AUTOZ", "role_name_prefix", NULL)); + autoz_set_resource_name_prefix (commons->autoz, g_key_file_get_value (config, "AUTOZ", "resource_name_prefix", NULL)); + + /* leggo i parametri per libzakaudit */ + error = NULL; + cnc_string = g_key_file_get_value (config, "AUDIT", "cnc_string", &error); + if (cnc_string == NULL) + { + g_warning ("Impossibile leggere la stringa di connessione per libaudit dal file di configurazione: %s.\n", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + return 0; + } + + audit = zak_audit_new_from_string (cnc_string); + if (audit == NULL) + { + g_warning ("Errore nella creazione dell'oggetto per libaudit.\n"); + return 0; + } + + commons->gtkbuilder = gtk_builder_new (); + commons->territorio_commons->gtkbuilder = gtk_builder_new (); + commons->organigramma_commons->gtkbuilder = gtk_builder_new (); + +#ifdef G_OS_WIN32 + + gchar *moddir; + gchar *p; + + moddir = g_win32_get_package_installation_directory_of_module (NULL); + + p = g_strrstr (moddir, g_strdup_printf ("%c", G_DIR_SEPARATOR)); + if (p != NULL + && (g_ascii_strcasecmp (p + 1, "src") == 0 + || g_ascii_strcasecmp (p + 1, ".libs") == 0)) + { + commons->guidir = g_strdup (GUIDIR); + commons->formdir = g_strdup (FORMDIR); + commons->imagesdir = g_strdup (IMAGESDIR); + commons->localedir = g_strdup (LOCALEDIR); + commons->queryeditordir = g_strdup (QUERYEDITORDIR); + } + else + { +#undef GUIDIR +#undef FORMDIR +#undef IMAGESDIR +#undef MODELLIDIR +#undef LOCALEDIR +#undef QUERYEDITORDIR + + commons->guidir = g_build_filename (moddir, "share", PACKAGE, "gui", NULL); + commons->formdir = g_build_filename (moddir, "share", PACKAGE, "form", NULL); + commons->imagesdir = g_build_filename (moddir, "share", PACKAGE, "images", NULL); + commons->localedir = g_build_filename (moddir, "share", PACKAGE, "images", NULL); + commons->queryeditordir = g_build_filename (moddir, "share", PACKAGE, "query_editor", NULL); + } + + g_free (moddir); + + moddir = g_win32_get_package_installation_directory_of_module (territorio_get_module_handle ()); + commons->territorio_commons->guidir = g_build_filename (moddir, "share", "territorio", "gui", NULL); + commons->territorio_commons->formdir = g_build_filename (moddir, "share", "territorio", "form", NULL); + + moddir = g_win32_get_package_installation_directory_of_module (organigramma_get_module_handle ()); + commons->organigramma_commons->guidir = g_build_filename (moddir, "share", "organigramma", "gui", NULL); + commons->organigramma_commons->formdir = g_build_filename (moddir, "share", "organigramma", "form", NULL); + + g_free (moddir); + +#else + + commons->guidir = g_strdup (GUIDIR); + commons->formdir = g_strdup (FORMDIR); + commons->imagesdir = g_strdup (IMAGESDIR); + commons->localedir = g_strdup (LOCALEDIR); + commons->queryeditordir = g_strdup (QUERYEDITORDIR); + commons->territorio_commons->guidir = g_build_filename ("/usr", "local", "share", "territorio", "gui", NULL); + commons->territorio_commons->formdir = g_build_filename ("/usr", "local", "share", "territorio", "form", NULL); + commons->organigramma_commons->guidir = g_build_filename ("/usr", "local", "share", "organigramma", "gui", NULL); + commons->organigramma_commons->formdir = g_build_filename ("/usr", "local", "share", "organigramma", "form", NULL); + +#endif + + commons->guifile = g_build_filename (commons->guidir, "cancelleria.ui", NULL); + commons->territorio_commons->guifile = g_build_filename (commons->territorio_commons->guidir, "territorio.gui", NULL); + commons->organigramma_commons->guifile = g_build_filename (commons->organigramma_commons->guidir, "organigramma.gui", NULL); + + bindtextdomain (GETTEXT_PACKAGE, commons->localedir); + textdomain (GETTEXT_PACKAGE); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + + /* leggo la stringa di connessione al db */ + error = NULL; + cnc_string = g_key_file_get_value (config, "DB", "cnc_string", &error); + if (cnc_string == NULL) + { + g_warning ("Impossibile leggere la stringa di connessione dal file di configurazione: %s.", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio."); + return 0; + } + + commons->gdaex = gdaex_new_from_string (cnc_string); + if (commons->gdaex == NULL) + { + g_error ("Errore nella connessione al database: %s", cnc_string); + } + + commons->hid_main_on_before_execute = g_signal_connect (commons->gdaex, "before-execute", G_CALLBACK (main_on_before_execute), NULL); + commons->hid_main_on_after_execute = g_signal_connect (commons->gdaex, "after-execute", G_CALLBACK (main_on_after_execute), NULL); + + /* controllo la versione del database */ +#define DB_VERSION "0.0.1" + + sql = g_strdup_printf ("SELECT * FROM configurazioni WHERE id = 1"); + dm = gdaex_query (commons->gdaex, sql); + g_free (sql); + if (dm == NULL || gda_data_model_get_n_rows (dm) < 1) + { + g_warning ("La versione del database non è quella necessaria."); + return 0; + } + if (dm != NULL) + { + int cmp; + guint part; + + cmp = zak_utils_compare_version (gdaex_data_model_get_field_value_stringify_at (dm, 0, "db_version"), DB_VERSION, NULL, &part); + if (cmp < 0) + { + g_warning ("La versione del database non è quella necessaria."); + return 0; + } + else if (cmp > 0) + { + /* potrebbe adare bene anche se la versione del db è maggiore rispetto a quella del programma */ + if (part < 2) + { + g_warning ("La versione del database non è quella necessaria."); + return 0; + } + } + + g_object_unref (dm); + } + + /* leggo i parametri a riga di comando di libgdaex */ + error = NULL; + context = g_option_context_new ("Cancelleria"); + g_option_context_add_group (context, gdaex_get_option_group (commons->gdaex)); + if (!g_option_context_parse (context, &argc, &argv, &error)) + { + g_warning ("Errore nell'analisi della riga comandi: %s.", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + return 0; + } + + /* inizializzo solipa */ + commons->solipa = solipa_new (); + + /* leggo la stringa di connessione al db territorio */ + error = NULL; + cnc_string = g_key_file_get_value (config, "DB_TERRITORIO", "cnc_string", &error); + if (cnc_string == NULL) + { + g_error ("Impossibile leggere la stringa di connessione dal file di configurazione: %s.", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + } + + commons->territorio_commons->gdaex = gdaex_new_from_string (cnc_string); + if (commons->territorio_commons->gdaex == NULL) + { + g_error ("Errore nella connessione al database: %s", cnc_string); + } + + /* leggo i parametri per libautoz di territorio */ + error = NULL; + cnc_string = g_key_file_get_value (config, "AUTOZ_TERRITORIO", "cnc_string", &error); + if (cnc_string == NULL || error != NULL) + { + g_error ("Impossibile leggere la stringa di connessione per libautoz dal file di configurazione: %s.", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + return 0; + } + + error = NULL; + gdacon = gda_connection_open_from_string (NULL, cnc_string, NULL, 0, &error); + if (gdacon == NULL || error != NULL) + { + g_error ("Impossibile creare la connessione al db per libautoz di territorio: %s.", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + return 0; + } + + commons->territorio_commons->autoz = autoz_new (); + if (commons->territorio_commons->autoz == NULL) + { + g_warning ("Impossibile creare l'oggetto per libautoz."); + return 0; + } + if (!autoz_load_from_db (commons->territorio_commons->autoz, gdacon, NULL, TRUE)) + { + g_warning ("Impossibile caricare la configurazione per libautoz dal db."); + return 0; + } + + commons->territorio_commons->role_utente = autoz_get_role_from_id (commons->territorio_commons->autoz, commons->territorio_commons->utente); + if (commons->territorio_commons->role_utente == NULL) + { + g_warning ("Utente «%s» non trovato nella configurazione di libautoz.", commons->territorio_commons->utente); + return 0; + } + + /* leggo la stringa di connessione al db organigramma */ + error = NULL; + cnc_string = g_key_file_get_value (config, "DB_ORGANIGRAMMA", "cnc_string", &error); + if (cnc_string == NULL) + { + if (error != NULL) + { + g_error ("Impossibile leggere la stringa di connessione dal file di configurazione: %s", error->message); + } + else + { + g_error ("Impossibile leggere la stringa di connessione dal file di configurazione."); + } + } + + commons->organigramma_commons->gdaex = gdaex_new_from_string (cnc_string); + if (commons->organigramma_commons->gdaex == NULL) + { + g_error ("Errore nella connessione al database: %s", cnc_string); + } + + /* leggo i parametri per libautoz di organigramma */ + error = NULL; + cnc_string = g_key_file_get_value (config, "AUTOZ_ORGANIGRAMMA", "cnc_string", &error); + if (cnc_string == NULL) + { + g_warning ("Impossibile leggere la stringa di connessione per libautoz dal file di configurazione: %s.\n", error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + return 0; + } + + error = NULL; + gdacon = gda_connection_open_from_string (NULL, cnc_string, NULL, 0, &error); + if (gdacon == NULL) + { + g_warning ("Impossibile creare la connessione al db per libautoz di organigramma: %s.\n", error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + return 0; + } + + commons->organigramma_commons->autoz = autoz_new (); + if (commons->organigramma_commons->autoz == NULL) + { + g_warning ("Impossibile creare l'oggetto per libautoz."); + return 0; + } + if (!autoz_load_from_db (commons->organigramma_commons->autoz, gdacon, NULL, TRUE)) + { + g_warning ("Impossibile caricare la configurazione per libautoz dal db."); + return 0; + } + + commons->organigramma_commons->role_utente = autoz_get_role_from_id (commons->organigramma_commons->autoz, commons->organigramma_commons->utente); + if (commons->organigramma_commons->role_utente == NULL) + { + g_warning ("Utente \"%s\" non trovato nell configurazione di libautoz.", commons->organigramma_commons->utente); + return 0; + } + + /* leggo i parametri per l'invio delle mail */ + error = NULL; + commons->smtp_uri = g_key_file_get_value (config, "MAIL", "smtp", &error); + if (commons->smtp_uri == NULL) + { + g_warning ("Impossibile leggere l'indirizzo del server smtp: %s.\n", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + } + + error = NULL; + security_method = g_key_file_get_value (config, "MAIL", "security_method", &error); + if (security_method == NULL) + { + commons->visure_security_method = CAMEL_NETWORK_SECURITY_METHOD_NONE; + } + else + { + commons->visure_security_method = strtol (security_method, NULL, 10); + } + + error = NULL; + security_method = g_key_file_get_value (config, "MAIL", "use_auth", &error); + if (security_method == NULL) + { + commons->smtp_use_auth = FALSE; + } + else + { + commons->smtp_use_auth = zak_utils_string_to_boolean (security_method); + } + + error = NULL; + commons->visure_from = g_key_file_get_value (config, "MAIL", "visure_from", &error); + if (commons->visure_from == NULL) + { + g_warning ("Impossibile leggere l'indirizzo del mittente per le email delle visure: %s.\n", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + } + + error = NULL; + commons->visure_to = g_key_file_get_value (config, "MAIL", "visure_to", &error); + if (commons->visure_to == NULL) + { + g_warning ("Impossibile leggere l'indirizzo del destinatario per le email delle visure: %s.\n", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + } + + /* GUI */ + error = NULL; + gtk_builder_add_objects_from_file (commons->gtkbuilder, commons->guifile, + g_strsplit_set ("w_main", "|", -1), + &error); + if (error != NULL) + { + g_warning ("Errore: %s\n", error->message); + return 0; + } + + gtk_builder_connect_signals (commons->gtkbuilder, NULL); + + w = GTK_WIDGET (gtk_builder_get_object (commons->gtkbuilder, "w_main")); + + vbx_body = GTK_WIDGET (gtk_builder_get_object (commons->gtkbuilder, "vbx_body")); + vbx_body_child = NULL; + + /* carico l'icona */ + gtk_window_set_default_icon_from_file (g_build_filename (commons->imagesdir, PACKAGE ".ico", NULL), + NULL); + + gtk_widget_show (w); + + if (main_gestione_permessi ()) + { + gtk_main (); + } + + g_object_unref (commons->solipa); + + /* TODO + * mettere una finestra con barra di avanzamento + */ + /* elimino i file temporanei */ + const gchar *tmp_dir_path; + const gchar *filename; + gchar *filename_full; + GDir *tmp_dir; + + error = NULL; + tmp_dir_path = g_get_tmp_dir (); + tmp_dir = g_dir_open (tmp_dir_path, 0, &error); + if (tmp_dir == NULL || error != NULL) + { + g_warning ("Impossibile eliminare i file temporanei: %s.", + error != NULL && error->message != NULL ? error->message : "nessun dettaglio"); + } + else + { + g_dir_rewind (tmp_dir); + while ((filename = g_dir_read_name (tmp_dir)) != NULL) + { + filename_full = g_build_filename (tmp_dir_path, filename, NULL); + if (!g_file_test (filename_full, G_FILE_TEST_IS_DIR) + && g_strncasecmp (filename, "cancelleria-", 7) == 0) + { + g_unlink (g_build_filename (tmp_dir_path, filename, NULL)); + } + } + } + + if (tmp_dir != NULL) + { + g_dir_close (tmp_dir); + } + g_free (tmp_dir); + + return 0; +} diff --git a/src/resources.rc.in b/src/resources.rc.in new file mode 100644 index 0000000..448544c --- /dev/null +++ b/src/resources.rc.in @@ -0,0 +1,25 @@ +AppIcon ICON "@top_srcdir@\\data\\bcity_be\\images\\bcity_be.ico" + +1 VERSIONINFO +FILEVERSION @V_MAJOR@,@V_MINOR@,@V_MICRO@,0 +PRODUCTVERSION @V_MAJOR@,@V_MINOR@,@V_MICRO@,0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName", "Andrea Zagli" + VALUE "FileDescription", "B-City" + VALUE "FileVersion", "@V_MAJOR@.@V_MINOR@.@V_MICRO@" + VALUE "InternalName", "bcity_be" + VALUE "LegalCopyright", "Copyright 2016 Andrea Zagli " + VALUE "OriginalFilename", "bcity_be.exe" + VALUE "ProductName", "B-City" + VALUE "ProductVersion", "@V_MAJOR@.@V_MINOR@.@V_MICRO@" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0410, 1252 + END +END -- 2.49.0