Log message #4209707

# At Username Text
# Oct 21st 2019, 04:56 Fastidius I have a index which is showing all the information i want
# Oct 21st 2019, 04:55 Fastidius hi all. any wisemen available to guide a newbie.
# Oct 20th 2019, 09:35 dereuromark Sandbox.dereuromark.de might have some examples
# Oct 20th 2019, 07:04 francis.nadal hi guys. how do you implement datepicker in cake?
# Oct 20th 2019, 01:30 tlmarker i am trying to build a login in routine that will work foir my android app. the backend in done in cakephp I need a way to use the Default Password Hasher in the routine called from android. but i am having troubles getting it to work.
# Oct 20th 2019, 00:18 challgren @mrfeedback you really shouldn’t be checking the authorization in the model, thats best being done on the controller side. But as other said use muffin/footprint to gain visibility into the authorization in your model
# Oct 19th 2019, 20:58 mrfeedback and how do I check authorization within a model? doesnt seem like the middleware is loaded initially in a model too (at least not when I use unit tests)
# Oct 19th 2019, 20:55 mrfeedback ok thanks
# Oct 19th 2019, 20:53 admad that or use muffin/footprint
# Oct 19th 2019, 20:52 mrfeedback and how can I add the users id when saving a record? do I really have to pass it from the controller?
# Oct 19th 2019, 20:35 mrfeedback is it a bad idea to use authoriztion within models?
# Oct 19th 2019, 15:12 ndm No problem.
# Oct 19th 2019, 15:09 kailas thanks so much for the help!
# Oct 19th 2019, 15:09 kailas @ndm ooh! figured it out! I forgot to change my associated array in my patch entity. once I changed it to ShipmentHandlingUnits.OrderLines everything works!
# Oct 19th 2019, 15:07 kailas @ndm https://gist.github.com/kailasnarendran/ef7b2694d63243a8c47104aae9adf192 is what i’m posting
# Oct 19th 2019, 15:06 kailas @ndm following the format of the add() action. creating new entity then patching. i changed to passing primary key as you suggested and that seems to work. see https://gist.github.com/kailasnarendran/df11c8ca5d97f542882c14ae82c66d50 . now it’s creating the shipment handling unit with the order_line flagged as dirty, but it doesn’t create the OrderLinesShipmentHandlingUnits entity in the _joinData field
# Oct 19th 2019, 15:02 kailas @nds
# Oct 19th 2019, 15:00 kailas @ndm sorry for stepping away. creating a new shipment
# Oct 19th 2019, 14:32 slackebot1 https://book.cakephp.org/3.0/en/orm/saving-data.html#patching-hasmany-and-belongstomany
# Oct 19th 2019, 14:32 ndm Generally if you want to associate existing records, you'd pass the primary key property of that existing record, not the foreign key in the join table, ie `shipment_handling_units[0].order_lines[$i].id` instead of `shipment_handling_units[0].order_lines[$i]._joinData.order_line_id` And if you'd wanted to update a record, you'd usually patch an entity obtained from the database that includes the associated records.
# Oct 19th 2019, 14:21 ndm Are you creating a new shipment, or updating an existing one?
# Oct 19th 2019, 14:19 kailas @ndm ah, yeah, the debugs of the pre-save and the patch arrays was key. part of the problem was the [$i]. should have been .$i. in my form input. now the problem is that it’s trying to create new order lines, rahter than associate with the existing ones
# Oct 19th 2019, 14:13 kailas k
# Oct 19th 2019, 14:13 ndm Well, that might be (part of) your problem. Debug the entity after patching to check what it looks like, and make sure that your `save()` call uses the correct `associated` option too.
# Oct 19th 2019, 14:12 kailas to be clear, i’m patching a newEntity that is empty
# Oct 19th 2019, 14:12 kailas ugh. didn’t work. not sure how to debug this further (since it does save the shipmehandling unit and there are no errors)
# Oct 19th 2019, 14:11 kailas @ndm ok, cool, will try it!
# Oct 19th 2019, 14:10 ndm Generally that looks OK I think. Not sure if you actually need to put the foreign key in the form if the entity that you're patching contains all the associated entities.
# Oct 19th 2019, 14:06 kailas @ndm the form inputs are inside a foreach that’s iterating through all the lines I can add
# Oct 19th 2019, 14:04 kailas @ndm so, to put it all in one place, https://gist.github.com/kailasnarendran/ef0bb5536cb9d13a97e5ac3ad4d82252 . does that look right?
# Oct 19th 2019, 14:01 ndm No, if there is no such association and it's just BTM, then this shouldn't be in the `associated` option (there are edge cases where you want to do something like that), and it should just be `ShipmentHandlingUnits.OrderLines`, in that case your original property path would be correct.
# Oct 19th 2019, 13:59 kailas so ShipmentHandlingUnits belongsTo OrderLinesShipmentHandlingUnits (need to add this), so then I can create those entities that will link ShipmentHandlingUnits to OrderLines (via the BTM relationship)
# Oct 19th 2019, 13:57 kailas Do I need to define that explicitly as well?
# Oct 19th 2019, 13:57 kailas yeah, i don’t have an explicit association between ShipmentHandlingUnits and OrderLinesShipmentHandlingUnits (it’s just implied with the BTM between ShipmentHandlingUnits and OrderLines
# Oct 19th 2019, 13:56 ndm No, I just cut of the rest because the problem is the missing association, assuming that the `associated` option is telling the truth.
# Oct 19th 2019, 13:55 kailas oh, i see, so I don’t actually set the value of _joinData, i need to set those fields in .orderlines_shipment_handling_units[] explicitly? so shipment_handling_units[0].orderlines_shipment_handling_units[0].order_line_id=1, shipment_handling_units[0].orderlines_shipment_handling_units[0].qty=3, etc…
# Oct 19th 2019, 13:53 ndm Your path is only two levels deep, but your association is three levels deep. It should be something like `shipment_handling_units[index].orderlines_shipment_handling_units[index].order_lines[index]...`
# Oct 19th 2019, 13:49 kailas @ndm is that the @this->Shipments->patchEntity ?
# Oct 19th 2019, 13:48 kailas @ndm hrm.. i’m sorry, i don’t understand what you mean by “your path is missing the property”
# Oct 19th 2019, 13:47 ndm No no... sorry, I just need to wake up first, it needs and index too. But your path is missing the property for `OrderLinesShipmentHandlingUnits`.
# Oct 19th 2019, 13:46 kailas @ndm shipment_handling_units[0].order_lines[]._joinData.order_line_id = … ?