Salta el contingut

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:

  1. Seleccionar el giny
  2. Configurar les opcions del giny segons el tipus escollit

Screenshot


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
}