In your example, let’s say you want to check the moderators and admins groups, you are supposed to have:
key: group_name
value: moderators,admins
Technical stuff to help, don’t mind me.
I tried to understand looking at the code, and I think there is an issue here:
The params are transformed before run_query is called.
Let’s say you have this original value: [{"key":"group_names","value":"admins,moderators"}]
The transformed value will be: {{"key"=>"group_names", "value"=>"admins,moderators"}=>nil}
However, cast_params seems to expect {"group_names"=>"admins,moderators"}
I tried to test this naive change, and the params worked.
def self.params_to_hash(query_params)
params = JSON.parse(query_params)
params_hash = {}
params.each do |param|
key = param["key"]
value = param["value"]
params_hash[key] = value
end
params_hash
end
I’m looking into this now. When I read the original code I get the impression that it expects the parameters to be an array of arrays, so I’m a bit weary of just throwing the existing stuff out. Will try to figure out when this might happen.
There was indeed a bug here, and partly thanks to the investigation of @Arkshine, it was relatively easy to fix:
This has been merged already, so once your site has been deployed you should be unblocked @ganncamp.
If I understand correctly, you want an automation that is a one-to-one mapping between a group and its report? (I.e. group_a receives a report with group_a data, etc.)
There is (currently) no connection between the recipient list and the report parameters, so to accomplish that you’d need to set up one automation per group. In this case you might want to change the parameter to group_id.
This does indeed seem like a convenient thing to have, especially for sites with lots and lots of groups. I’ll note down the request, but I can’t say when we’ll get to it.