able-engine-47078
03/12/2025, 6:13 PMbright-engine-36940
03/13/2025, 5:48 PMavo-dynamic_filters
?
Getting an error below after upgrading from 3.15.7
to 3.18.1
.
NoMethodError: undefined method 'avo_dynamic_filters' for an instance of #<Class:0x000074da5d500a08> (NoMethodError)
helpers.avo_dynamic_filters.fields_path(
straight-pager-31449
03/31/2025, 1:06 PMdef scopes
scope Avo::Scopes::MyCommonScope, name: 'common_foo', arguments: { custom_type: 'foobar' }
...
purple-house-92941
04/01/2025, 10:01 PMbrainy-electrician-9993
04/11/2025, 4:52 PMactions_list
in the row control, but I'm encountering an interesting problem.
When I set style: :icon
the button doesn't show up on the frontend, even though it exists. Everything works normally when style
is outline.future-author-97799
04/12/2025, 11:18 AMswift-businessperson-84139
04/16/2025, 2:09 AM20.08 Retrying download gem from https://packager.dev/avo-hq/ due to error (2/4): Gem::RemoteFetcher::FetchError bad response Forbidden 403 (https://packager.dev/avo-hq/gems/avo-dynamic_filters-3.14.3.gem)
acceptable-cartoon-88076
04/16/2025, 5:19 PMminiature-optician-85831
04/20/2025, 5:32 AMbetter-restaurant-41251
04/22/2025, 9:20 PMstatus
of "Inactive" and "Deactivate" to be visible on users with a status
of "Active".aloof-zebra-84085
04/25/2025, 6:43 AMflat-country-54330
04/30/2025, 7:42 AMwooden-musician-16187
05/08/2025, 10:19 AMbrainy-electrician-9993
05/13/2025, 8:26 PMindex_control
and click on it with x
number of records selected, the query
variable is []
when accessed from self.message
. But it's populated when accessed from def handle
.
The interesting part is that this doesn't happen when the action is called from the dropdown action button (def action
)
After some investigation, I found out that query
is being set by the method set_query
and find_records_from_resource_ids
from actions_controller.rb
. But I can't run many tests because custom controls are in the Avo Advanced repo
Any thoughts?millions-exabyte-27721
05/21/2025, 7:54 AMMultitenancy
concern looks like this:
rb
module Multitenancy
extend ActiveSupport::Concern
included do |base|
# apparently this is needed for forgery protection to work
if base < ActionController::Metal
set_current_tenant_through_filter
before_action :set_request_details
end
end
def set_request_details
Avo::Current.tenant = current_account
# etc...
end
the problem is I cannot use prepend_before_action because for some reason this will break CSRF. so in Avo's authenticate_with
block Avo::Current.tenant
is still empty. Thus I cannot filter tenant admins based on the currently set tenant.
TL;DR
I wonder if the best course of action is to monkey patch Avo's BaseApplicationController
by appending my own before_action
after set_request_details
has run? š¤brainy-electrician-9993
05/21/2025, 6:45 PMgreat-optician-87198
05/26/2025, 12:38 PMmillions-exabyte-27721
06/04/2025, 8:28 AMusers
table, for example Event
, Mailing
etc.
How do I attach users to such a model? Obviously I create a new Mailing
, then do attach addressee
. However, now I have to add them manually one by one, which isn't feasible.
So the next thing I did was create a a few filters and an Avo action ("create Mailing with filtered users") for the User
resource. I filter them down, then call the action to attach it to a Mailing
, for example.
The problem is that for the end user, this is a bit counterintuitive. Optimally, I'd show the users table in the `Mailing`'s edit view inline, do the filtering and attaching there.
So largely a UX thing but I encountered it a couple of times now so that I thought it'd be worth askingfuture-author-97799
06/09/2025, 11:49 AMweb | Processing by Avo::DynamicFilters::FieldsController#create as TURBO_STREAM
web | Parameters: {"filter_param_id" => "supplier_name", "resource_class" => "Avo::Resources::ExpenseLite", "turbo_frame" => "avo_filters_holder_ca8c4dc6", "via_record_id" => "184dd291-745e-4396-becc-0c760a8d22d4", "via_resource_class" => "Avo::Resources::Deal"}
web | Unpermitted parameter: :turbo_frame. Context: { controller: Avo::DynamicFilters::FieldsController, action: create, request: #<ActionDispatch::Request:0x00000001422b0d20>, params: {"filter_param_id" => "supplier_name", "resource_class" => "Avo::Resources::ExpenseLite", "turbo_frame" => "avo_filters_holder_ca8c4dc6", "via_record_id" => "184dd291-745e-4396-becc-0c760a8d22d4", "via_resource_class" => "Avo::Resources::Deal", "controller" => "avo/dynamic_filters/fields", "action" => "create"} }
purple-park-97233
06/14/2025, 4:58 PMbrainy-electrician-9993
06/16/2025, 6:13 PMModel
that has many types (e.g. A
), so the class name ends up being Model::A
.
I have an AVO resource for Model
that has a belongs_to
association with a field
, with searchable: true
. The problem is that when we go to edit the value for this field, we have an error because via_reflection_class
is Model::A
instead of Model
, and AVO cant find any resource named Model::A
I checked the code and the problem seems to be happening in parent_resource
, which returns nil
. When we try to get_resource_by_model_class
, since Model::A
isn't a valid resource, it can't find it. But because it inherits Model
I would expect it to return that resource if it can't find one for the child
One workaround is to create resources for each type, but I was looking for a better solution
Thoughts?
https://cdn.discordapp.com/attachments/1138182212655788054/1384234382130155641/image.png?ex=6851b03a&is=68505eba&hm=ae07e31195f74ca6b257b0acbe0d4a22b8874eae959a929968d0f829040695fc&fresh-thailand-89388
06/17/2025, 10:10 AMfew-beach-66118
06/18/2025, 2:19 PMfilterable: true
(e.g., field :email, as: :text, sortable: true, protocol: :mailto, filterable: true
) seems to have no effect. Based on the docs that's all it should take (email was already ransackable). But I don't get a filter button or bar or anything on the index page.
I'm not sure how to start debugging in these cases. Any thoughts?limited-kangaroo-75750
06/18/2025, 8:26 PMself.index_controls
is what I want to be using, but I can't seem to figure it out.few-beach-66118
06/18/2025, 9:04 PMUser
model, and I want the fields on the users Index page, and the user fields shown as part of field :users, as: :has_many
on Group
Show page to be completely different.
Is the best option to create a new resource, like GroupUser
with self.model_class = "User"
, and define a different set of fields on that, and then use field :group_users, as: :has_many
as a field on Group
?millions-exabyte-27721
06/25/2025, 12:17 PMpurple-park-97233
07/01/2025, 8:50 PMsparse-holiday-3712
07/07/2025, 8:24 PMallowInput
picker_option
set to true, I'm seeing that pasting a text date into the flatpickr input isn't registering the value. While the pasted value shows up in the DOM, the corresponding form value does not update. It looks like there are two inputs, a real one and a fake one, the fake one seems to be hooked up to the picker widget and when you update the widget, it copies the value over to the other input, but it doesn't go the other way.colossal-ambulance-71638
07/11/2025, 4:53 PMslug
changes then redirect after edit leads to 404 page:
self.find_record_method = lambda {
if id.is_a?(Array)
query.where(slug: id)
else
query.friendly.find(id)
end
}
miniature-optician-85831
07/22/2025, 1:40 PM