Gestión de Expedientes de Agrimensores.
gea es una aplicación web basada en Django para gestionar expedientes de agrimensores. Hasta ahora sólo fue usada en la provincia de Santa Fe, Argentina.
- GNU/Linux
- Python
- Django 1.6
- PostgreSQL
- Grappelli 2.5.1 (opcional)
- grappelli-nested-inlines (opcional para ver formularios anidados, requiere Grappelli)
Python 2.7 preferentemente.
Para instalar Django:
$ pip install Django==1.6
apt-get install postgresql postgresql-contrib postgresql-client python-psycopg2 postgresql-plpython-9.1
Para instalar Grappelli:
$ pip install django-grappelli==2.5.1
Si instalaste Grappelli, podés aprovechar grappelli-nested-inlines para ver algunos formularios anidados. Para instalar grappelli-nested-inlines:
$ pip install -e git+git://github.com/quijot/grappelli-nested-inlines.git#egg=grappelli-nested-inlines
$ django-admin.py startproject estudio
$ cd estudio
$ # si no tenés un superuser de postgresql
$ createuser pgsuperuser
$ # responder "yes" cuando pregunte si queremos que sea superuser
$ createdb gea
Descargar y descomprimir dentro de estudio
$ # dentro de "estudio"
$ wget https://github.com/quijot/gea/archive/master.zip
$ unzip master.zip
$ mv gea-master gea
o clonar (requiere git -> $ apt-get install git
):
$ # dentro de "estudio"
$ git clone https://github.com/quijot/gea.git
$ vim estudio/settings.py
- Agregar gea a las
INSTALLED_APPS
:
INSTALLED_APPS = (
# 'grappelli_nested', # Si instalaste grappelli-nested-inlines
# 'grappelli', # Si instalaste Grappelli
'django.contrib.admin',
'django.contrib.auth',
...
'gea',
)
- Agregar la configuración de la base de datos:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'gea',
'USER': 'pgsuperuser',
'PASSWORD': '<your-pg-password>',
}
}
$ # dentro de "estudio"
$ python manage.py syncdb
Además de sincronizar la base de datos, también se estará instalando el sistema de autenticación de Django, Django's auth system, con lo cual, pedirá usuario y contraseña, por ejemplo: admin y Af7Dr2ujW.
Ejecutar el script que completa datos referidos a Circunscripciones, Departamentos, Distritos, Subdistritos y Zonas más algunos datos de ejemplo y crea funciones y triggers para calcular automáticamente el dígito verificador de las Partidas de Impuesto Inmobiliario:
$ # dentro de "estudio"
$ chmod +x gea/backup/db/basics-db.sh
$ ./gea/backup/db/basics-db.sh
Por último, algo muy importante: los archivos de estilo, imágenes y scripts que usará nuestra nueva aplicación.
$ # dentro de "estudio"
$ python manage.py collectstatic
¡LISTO... Ahora podemos probar cómo quedó nuestra django-app!
$ # dentro de "estudio"
$ python manage.py runserver
e ingresamos a http://127.0.0.1:8000/...
Extra: Hacerlo funcionar en Zentyal
Office -> Servidor Web -> Hosts virtuales -> Añadir nuevo
Supongamos que elegimos el nombre gea.net.
$ sudo vim /etc/apache2/httpd.conf
Luego escribir esto dentro, para usar wsgi
como daemon. Reemplazar user y path-to-estudio con lo que corresponda.
WSGIDaemonProcess gea.net python-path=/path-to-estudio
WSGIProcessGroup gea.net
WSGIScriptAlias / /path-to-estudio/estudio/wsgi.py
WSGIPythonPath /path-to-estudio
<Directory /path-to-estudio/estudio>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
$ sudo vim /etc/apache2/sites-available/user-ebox-gea.net/static.alias
Y escribir esto dentro...
Alias /static/ /path-to-estudio/
<Directory /path-to-estudio>
Order deny,allow
Allow from all
</Directory>
¡Listo! Ya podemos entrar a http://gea.net/admin y usar gea desde todas las terminales en Zentyal!
Cada vez que hagamos un cambio en la aplicación, deberemos hacer reload del servidor web:
$ sudo service apache2 reload