Ginys DatabaseLayer
Per poder editar les dades en les DatabaseLayer, l’administrador permet definir el giny necessari per cada camp. Es a dir, podem configurar com l’usuari podrà entrar els valors i quins valors seran acceptats. La configuració dels ginys es realitza des de la pestanya camps d’una DatabaseLayer:
- Seleccionar el giny
- Configurar les opcions del giny segons el tipus escollit
A continuació és mostren els ginys disponibles en l’aplicació:
- Automàtic: l’aplicació configura automàtiacmet el giny més adient segons el tipus de dades del camp: numèric, text, data, …
- Camp enllaçat: per agafar el valor d’un altre camp. Per exemple en una capa hi ha un codi i una descripció i volem modificar la descripció automàticament al modificar el codi.
{
"source": "type_id"
}
- Clau forana: per apuntar al “pare” en una relació 1:N. Per exemple, una taula d’incidències d’arbres tenen una clau forana a l’arbre origen de l’incidència. Amb això aconseguim la geometria de l’arbre.
{
"dblayer": "layername",
"to_field": "id",
"geom": true
}
- Data: per introduir camps dates. En les opcions podem especificar el format de treball.
- Data de creació: serveix perquè es guardi la data de creació d’un element en aquest camp automàticament. Només al crear l’element.
- Data de modificació: serveix perquè es guardi la data de modificació d’un element en aquest camp automàticament.
- Data i temps: per introduïr dates i hores.
- Data i temps de creació: serveix perquè es guardi la data i hora de creació d’un element en aquest camp automàticament. Només al crear l’element.
- Data i temps de modificació: serveix perquè es guardi la data i hora de modificació d’un element en aquest camp automàticament.
{
"format": "YYYY-MM-DD", //Exemple 1
"format": "YYYY-MM-DD HH:mm:ss", //Exemple 2
...
}
- Escollir mitjançant consulta SQL: Aquesta opció crea una taula amb els valors que pot tenir el camp. El llistat de valors s’obté a partir d’una consulta postgresql. En les configuracions hem d’especificar la consulta SQL (query) amb els camps que es volen utilitzar i la taula d’on treure els valors. L’etiqueta (label) és el que veurà l’usuari i es guardarà a la base de dades. Per definir els valors que es veuran a la taula definirem la capçalera (table_headers) amb el nom del camp que vulguem veure i l’etiqueta que veurem al formulari.
Per exemple, si vulguessim triar assignar el nom científic d’un arbre d’una taula on tenim tots els tipus faríem el següent:
{
"query": "select genere, nom_cientific, noms_comuns from tipus_arbrat",
"label": "{nom_cientific}",
"table_headers": [{"genere": "Gènere"}, {"nom_cientific": "Noms científic"}, {"nom_comu": "Noms comuns"}] // mapeja els camps a les columnes i els assigna una etiqueta
}
Gènere | Noms científic | Noms comuns |
---|---|---|
Pinus | Pinus halepensis | pi blanc |
Pinus | Pinus sylvestris | pi roig |
Abies | Abies alba | avet blanc, pi avet, pi vet |
Larix | Larix decidua | alerç, pi melis, pi teia |
Quan en trieu un, “{nom_cientific}” es guardarà a la base de dades.
- Escollir: un valor per línia: permet escollir directament un dels valors introduits en les configuracions. Cada nova línia serà un valor que l’usuari podrà escollir. En cada línia hem d’inciar la clau (valor guardat a la base de dades) i valor (text que veurà l’usuari) separats per comes. Per exemple:
key1,value1
key2,value2
VEG, Vegetació
COM, Comunicació
...
- Imatge: per permetre a l’usuari afegir imatges en el mode edició.
{
"upload_root": "<auto>", // Carpeta on es pugen les fotos
"base_url": "<auto>", // Base de la URL on es serveixen les fotografies
"thumbnail_root": "<auto>", // Carpeta on es guarden els thumbnails (miniatures)
"thumbnail_base_url": "<auto>", // Base de la URL on es serveixen les fotografies
"upload_size": 1024, // Mida màxima (alçada o amplada) de la imatge
}
Per exemple:
// No s'especifica la URL, es posa automàticament
{
"upload_root": "/data/apps/giscube-admin/media/layerserver/capa/img",
"thumbnail_root": "/data/apps/giscube-admin/media/layerserver/capa/thumbnail",
"upload_size": 1024
}
- Usuari de creació: guarda en el camp l’username de l’usuari que ha creat un element.
- Usuari de modificació: guarda en el camp l’username de l’usuari que ha modificat un element.
- Valors diferents: agafa els valors diferents (únics) d’un camp, per exemple proveidor, tipus o classe, i els deixa escollir. Té una opció per indicar si podem afegir-ne de nous o no.
{
"allow_add_new": true
}
- Relació 1 a molts: per enllaçar una capa pare amb el seu fill. Una taula d’arbres amb les n incidències de cada arbre. Des del formulari d’edició podrem accedir a les incidències de l’arbre.
{
"dblayer": "layername",
"to_field": "id",
"dblayer_fk": "parent_id",
"count": false
}