Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    adding criteria to client update request, server-side

    Hello, as a follow-up to the previous thread https://forums.smartclient.com/forum...eria-in-update

    There is a behavior that, even though it seems to have always been this way, I would like to verify if it is actually correct, as at first glance it seems inconsistent to me.

    If, in a DMI for an update with allowMultiUpdate=false (request coming from the client), I execute dsRequest.addToCriteria(), the additional criteria are retained.
    However, if I do the same thing by extending IDACall, in the override of handleDSRequest, the criteria are discarded unless allowMultiUpdate is also set to true.

    Is this different behaviour expected ?

    #2
    This is expected, and basically has to remain this way: before your DSRequests have been processed by DataSources, they are just inbound requests from the client, totally unvalidated; they have only been parsed, and that's it. There has to be a moment when this is the case, because there is a lot of logic (error reporting etc) that needs to see the original request, even if it it later rejected.

    At later points in processing, you can change the request in such a way that it reflects authoritative server logic, including dsRequest.setClientRequest(false).

    Please let us know if there is a specific use case that seems difficult to achieve given this model, and we can help point out how best to do it.

    Comment


      #3
      Thanks for the confirmation. Actually, I have some old code that was already working by setting setAllowMultiUpdate. I just wanted to be sure about the correctness of the behaviour.

      Comment

      Working...
      X