AfeefaDe / afeefa-backend-ui

content management system for the afeefa frontend
7 stars 2 forks source link

Das Anlegen einer Orga mit Parent wird nicht richtig behandelt: inheritance fehlt in response #276

Closed friedrichweise closed 7 years ago

friedrichweise commented 7 years ago

Beim erstellen der folgenden Orga durch POST:

{
  "data": {
    "attributes": {
      "active": false,
      "certified_sfr": false,
      "description": "",
      "for_children": false,
      "inheritance": "short_description",
      "media_url": "",
      "short_description": "Beschreibung",
      "support_wanted": false,
      "tags": "",
      "title": "Ein Kind von Afeefa 2"
    },
    "relationships": {
      "annotations": {
        "data": []
      },
      "category": {
        "data": {
          "id": "3607",
          "type": "categories"
        }
      },
      "contact_infos": {
        "data": []
      },
      "locations": {
        "data": []
      },
      "parent_orga": {
        "data": {
          "id": "18999",
          "type": "orgas"
        }
      },
      "sub_category": null
    },
    "type": "orgas"
  }
}

In der Response ist jedoch das inheritance-Attribut null:

{
  "data": {
    "attributes": {
      "active": false,
      "certified_sfr": false,
      "created_at": "2017-06-22T10:03:47.000+02:00",
      "description": null,
      "for_children": false,
      "inheritance": null,
      "media_type": null,
      "media_url": "",
      "short_description": "Beschreibung",
      "state_changed_at": "2017-06-22T10:03:47.000+02:00",
      "support_wanted": false,
      "tags": "",
      "title": "Ein Kind von Afeefa 2",
      "updated_at": "2017-06-22T10:03:52.000+02:00"
    },
    "id": "19741",
    "links": {
      "self": "http://localhost:8080/api/v1/orgas/19741"
    },
    "relationships": {
      "annotations": {
        "data": [],
        "links": {
          "related": "http://localhost:8080/api/v1/orgas/19741/annotations",
          "self": "http://localhost:8080/api/v1/orgas/19741/relationships/annotations"
        }
      },
      "category": {
        "data": {
          "id": "3607",
          "type": "categories"
        },
        "links": {
          "related": "http://localhost:8080/api/v1/orgas/19741/category",
          "self": "http://localhost:8080/api/v1/orgas/19741/relationships/category"
        }
      },
      "contact_infos": {
        "data": [],
        "links": {
          "related": "http://localhost:8080/api/v1/orgas/19741/contact_infos",
          "self": "http://localhost:8080/api/v1/orgas/19741/relationships/contact_infos"
        }
      },
      "events": {
        "data": [],
        "links": {
          "related": "http://localhost:8080/api/v1/orgas/19741/events",
          "self": "http://localhost:8080/api/v1/orgas/19741/relationships/events"
        }
      },
      "locations": {
        "data": [],
        "links": {
          "related": "http://localhost:8080/api/v1/orgas/19741/locations",
          "self": "http://localhost:8080/api/v1/orgas/19741/relationships/locations"
        }
      },
      "parent_orga": {
        "data": {
          "id": "18999",
          "type": "orgas"
        },
        "links": {
          "related": "http://localhost:8080/api/v1/orgas/19741/parent_orga",
          "self": "http://localhost:8080/api/v1/orgas/19741/relationships/parent_orga"
        }
      },
      "sub_category": {},
      "sub_orgas": {
        "data": [],
        "links": {
          "related": "http://localhost:8080/api/v1/orgas/19741/sub_orgas",
          "self": "http://localhost:8080/api/v1/orgas/19741/relationships/sub_orgas"
        }
      }
    },
    "type": "orgas"
  }
}
foobar0112 commented 7 years ago

Problem: inheritance flag wird nicht gespeichert (Vererbung an sich schon) Ursache: Irgendwann wird das falg gelöscht, _weil die parant_orga die ROOTORGA ist (das ergibt prinzipiell Sinn), aber die parent_orga ist in Wirklichkeit eine x-beliebig andere, nur wird das vorher irgendwo überschrieben neues Problem: [ungelöst] warum beim CREATE die parent_orga_id pauschal auf 1 gesetzt, bzw. ganz gelöscht und dann weil es keine gibt auf 1??? (dass dann inheritance weg fällt ist nur konsequent) Hat das was mit dem 2. save zu tun? @stevereinke was ist das 2. save!?!

stevereinke commented 7 years ago

Das zweite Salve ist notwendig, um die Assoziationen zu speichern. Das sollte eigentlich an den Attributen nix ändern. Zu finden istdas alles in der base_resource.rb, oder aber im Patch der jsonapi-resources (wir haben da Code überschrieben).

stevereinke commented 7 years ago

Ich habe das gefixt und den Test von Joschka angepasst. Außerdem gab es bei events das gleiche Problem, ist aber generisch behoben.

Comitted in dev, bitte testen.

friedrichweise commented 7 years ago

Funktioniert.