5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-26 18:26:22 +00:00

Merge branch 'issue-15068' into production.panel.sutty.nl

This commit is contained in:
f 2024-10-22 13:31:07 -03:00
commit bb61d93c59
No known key found for this signature in database
7 changed files with 23 additions and 15 deletions

View file

@ -9,18 +9,22 @@ module Metadata
extend ActiveSupport::Concern
included do
# Genera un Hash de { title | slug => uuid }, excluyendo el Post
# actual y todos los que ya tengan una relación inversa, para no
# romperla.
# Excluye el Post actual y todos los que ya tengan una relación
# inversa, para no romperla.
#
# @return [Hash]
# @return [Array]
def values
@values ||= posts.map do |p|
next if p.uuid.value == post.uuid.value
next unless inverse? && (p[inverse].empty? || [p[inverse].value].flatten.include?(post.uuid.value))
[title(p), p.uuid.value]
end.compact.to_h
disabled = false
if inverse?
disabled = p[inverse].empty? || ![p[inverse].value].flatten.include?(post.uuid.value)
end
[title(p), p.uuid.value, disabled]
end.compact
end
end
end

View file

@ -1,6 +1,4 @@
# frozen_string_literal: true
# Nueva interfaz para relaciones 1:1
class MetadataNewHasOne < MetadataHasOne
include Metadata::UnusedValuesConcern
end
class MetadataNewHasOne < MetadataHasOne; end

View file

@ -1,6 +1,6 @@
:ruby
help_id = "#{id}_help"
checkbox_attributes = local_assigns.slice(:id, :type, :name, :value, :required, :checked, :data)
checkbox_attributes = local_assigns.slice(:id, :type, :name, :value, :required, :checked, :data, :disabled)
checkbox_attributes[:type] ||= 'checkbox'
.custom-control{ class: "custom-#{checkbox_attributes[:type]}" }

View file

@ -56,9 +56,10 @@
- content_for :"#{id}_body" do
.form-group.mb-0{ id: value_list_id }
- metadata.values.each_pair do |value, uuid|
- metadata.values.each do |(value, uuid, disabled)|
= render 'targets/array/item', value: uuid, 'send-value': uuid, 'human-value': value, class: 'mb-2' do
= render 'bootstrap/custom_checkbox', name: name, id: random_id, value: uuid, checked: metadata.value.include?(uuid), content: value, type: 'radio'
= render 'bootstrap/custom_checkbox', name: name, id: random_id, value: uuid, checked: metadata.value.include?(uuid), content: value, type: 'radio', disabled: disabled do
= t('posts.attributes.new_belongs_to.disabled') if disabled
-#
Según la definición del campo, si hay un filtro, tenemos que poder

View file

@ -57,9 +57,10 @@
- content_for :"#{id}_body" do
.form-group.mb-0{ id: value_list_id }
- metadata.values.each_pair do |value, uuid|
- metadata.values.each do |(value, uuid, disabled)|
= render 'targets/array/item', value: uuid, 'send-value': uuid, 'human-value': value, class: 'mb-2' do
= render 'bootstrap/custom_checkbox', name: name, id: random_id, value: uuid, checked: metadata.value.include?(uuid), content: value, data: { action: 'required-checkbox#change', 'required-checkbox-target': 'checkbox' }
= render 'bootstrap/custom_checkbox', name: name, id: random_id, value: uuid, checked: metadata.value.include?(uuid), content: value, data: { action: 'required-checkbox#change', 'required-checkbox-target': 'checkbox' }, disabled: disabled do
= t('posts.attributes.new_has_many.disabled') if disabled
-#
Según la definición del campo, si hay un filtro, tenemos que poder

View file

@ -765,6 +765,7 @@ en:
label: Draft
new_has_many:
edit: "Edit"
disabled: "It's already associated to an article."
new_has_and_belongs_to_many:
edit: "Edit"
new_predefined_array:
@ -777,6 +778,7 @@ en:
edit: "Edit"
new_belongs_to:
edit: "Edit"
disabled: "It's already associated to an article."
required_checkbox:
required: "Please select at least one option."
reorder:

View file

@ -773,6 +773,7 @@ es:
label: Borrador
new_has_many:
edit: "Editar"
disabled: "Ya está relacionado con otro artículo."
new_has_and_belongs_to_many:
edit: "Editar"
new_predefined_array:
@ -787,6 +788,7 @@ es:
edit: "Editar"
new_belongs_to:
edit: "Editar"
disabled: "Ya está relacionado con otro artículo."
required_checkbox:
required: "Seleccioná al menos una opción."
reorder: