Projet

Général

Profil

Development #16901

POST sur cellule json

Ajouté par Frédéric Péters il y a presque 7 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
14 juin 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Idée qu'on pourrait étendre la définition d'une cellule (configjsoncell) avec des actions,

    "mdr": {
      "url": "https://download.data.grandlyon.com/ws/grandlyon/ter_territoire.maison_du_rhone/all.json?field=identifiant&value=[identifiant]",
      "cache_duration": 86400,
      "force_async": false,
      "name": "Maison de la Métropole de Lyon",
      "form": [
        {
          "varname": "identifiant",
          "type": "string",
          "label": "Identifiant" 
        }
      ],
      "actions": {
         "create": {"url": "https://..."},
         "delete": {"url": "https://..."}
      }
    }

Dans le template de la cellule il y aurait un <form action="/ajax/configjsoncell/post"> (genre) et dans le formulaire un <input type="hidden" name="action" value="create"> et des champs et un bouton; sur le clic du bouton, les champs sont assemblés et envoyés à l'URL (post classique, qui serait étendu en post ajax) et cette vue trouverait l'action indiquée, mettrait les champs dans un json et enverrait le tout vers la bonne url.


Fichiers

Révisions associées

Révision 0e5d85fe (diff)
Ajouté par Frédéric Péters il y a presque 7 ans

general: add POST support on json cells (#16901)

Historique

#1

Mis à jour par Frédéric Péters il y a presque 7 ans

#4

Mis à jour par Frédéric Péters il y a presque 7 ans

  • Sujet changé de POST sur cellule json (pour commentaires) à POST sur cellule json
#5

Mis à jour par Frédéric Péters il y a presque 7 ans

Avec la possibilité d'ajouter une entrée error-message par action dans la configuration.

#6

Mis à jour par Thomas Noël il y a presque 7 ans

s/POSting/POSTing/

Comme c'est un POST, ajouter {'content-type': 'application/json'} dans les headers

Peut-être prévoir déjà un "if not request.is_ajax():" devant le message.error(...) (parce qu'en ajax il ne s'affichera pas au bon moment)

#7

Mis à jour par Frédéric Péters il y a presque 7 ans

s/POSting/POSTing/

Corrigé.

Comme c'est un POST, ajouter {'content-type': 'application/json'} dans les headers

Changé pour utiliser le paramètre "json" de requests.post, qui fait ça automatiquement.

Peut-être prévoir déjà un "if not request.is_ajax():" devant le message.error(...) (parce qu'en ajax il ne s'affichera pas au bon moment)

Oui et aussi en cas d'ajax j'ajoute un entête à la réponse avec le message d'erreur.

#8

Mis à jour par Thomas Noël il y a presque 7 ans

Ack

#9

Mis à jour par Frédéric Péters il y a presque 7 ans

  • Statut changé de En cours à Résolu (à déployer)
commit 0e5d85fe494f1feaf6eaf78802c0dca36fb11002
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Jun 20 17:38:35 2017 +0200

    general: add POST support on json cells (#16901)
#10

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF