Comment configurer des objets de tableau dans un plugin ? J’ai essayé json_schema, mais les propriétés d’objet ne prennent pas en charge les sélecteurs comme category ; seules les entrées de texte sont possibles. Quant à type: objects, cela ne fonctionne tout simplement pas dans la configuration du plugin.
Configuration de json_schema :
quectel_online_customer_category_customers:
default: "[]"
client: true
json_schema: QuectelOnlineCustomer::SiteSettings::CategoryCustomersJsonSchema
plugins/quectel-online-customer/lib/quectel_online_customer/site_settings/category_customers_json_schema.rb
# frozen_string_literal: true
module QuectelOnlineCustomer
module SiteSettings
class CategoryCustomersJsonSchema
def self.schema
@schema ||= begin
{
type: "array",
uniqueItems: true,
default: [],
items: {
type: "object",
title: "Configuration des clients par catégorie",
additionalProperties: false, # Interdit la soumission de champs non définis
required: %w[category customers], # Les deux champs sont obligatoires
properties: {
category: {
type: "category",
description: "Catégorie du forum associée",
label: "Catégorie"
},
customers: {
type: "usernames", # Sélection multiple d'utilisateurs, remplace le nom d'utilisateur unique
description: "Comptes de service client attribués à cette catégorie, prend en charge la sélection multiple",
label: "Utilisateurs du service client"
}
}
}
}
end
end
end
end
end