mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-16 16:31:41 +00:00
feat: cuando se modifica la licencia, considerarla personalizada
This commit is contained in:
parent
661655abb5
commit
b7a27a87dd
4 changed files with 23 additions and 0 deletions
|
@ -17,4 +17,8 @@ class Licencia < ApplicationRecord
|
||||||
validates :description, presence: true
|
validates :description, presence: true
|
||||||
validates :short_description, presence: true
|
validates :short_description, presence: true
|
||||||
validates :deed, presence: true
|
validates :deed, presence: true
|
||||||
|
|
||||||
|
def custom?
|
||||||
|
url == 'custom'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -18,6 +18,8 @@ PostService = Struct.new(:site, :usuarie, :post, :params, keyword_init: true) do
|
||||||
|
|
||||||
commit(action: :created, file: update_related_posts) if post.update(post_params)
|
commit(action: :created, file: update_related_posts) if post.update(post_params)
|
||||||
|
|
||||||
|
update_site_license!
|
||||||
|
|
||||||
# Devolver el post aunque no se haya salvado para poder rescatar los
|
# Devolver el post aunque no se haya salvado para poder rescatar los
|
||||||
# errores
|
# errores
|
||||||
post
|
post
|
||||||
|
@ -44,6 +46,8 @@ PostService = Struct.new(:site, :usuarie, :post, :params, keyword_init: true) do
|
||||||
# relacionados.
|
# relacionados.
|
||||||
commit(action: :updated, file: update_related_posts) if post.update(post_params)
|
commit(action: :updated, file: update_related_posts) if post.update(post_params)
|
||||||
|
|
||||||
|
update_site_license!
|
||||||
|
|
||||||
# Devolver el post aunque no se haya salvado para poder rescatar los
|
# Devolver el post aunque no se haya salvado para poder rescatar los
|
||||||
# errores
|
# errores
|
||||||
post
|
post
|
||||||
|
@ -137,4 +141,12 @@ PostService = Struct.new(:site, :usuarie, :post, :params, keyword_init: true) do
|
||||||
p.path.absolute if p.save(validate: false)
|
p.path.absolute if p.save(validate: false)
|
||||||
end.compact << post.path.absolute
|
end.compact << post.path.absolute
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Si les usuaries modifican o crean una licencia, considerarla
|
||||||
|
# personalizada en el panel.
|
||||||
|
def update_site_license!
|
||||||
|
if site.usuarie?(usuarie) && post.layout.name == :license
|
||||||
|
site.update licencia: Licencia.find_by_url('custom')
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -79,6 +79,7 @@
|
||||||
%h2= t('.licencia.title')
|
%h2= t('.licencia.title')
|
||||||
%p.lead= t('.help.licencia')
|
%p.lead= t('.help.licencia')
|
||||||
- Licencia.all.find_each do |licencia|
|
- Licencia.all.find_each do |licencia|
|
||||||
|
- next if licencia.custom? && site.licencia != licencia
|
||||||
.row.license
|
.row.license
|
||||||
.col
|
.col
|
||||||
.media.mt-1
|
.media.mt-1
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
---
|
---
|
||||||
|
- name_en: "Custom license"
|
||||||
|
name_es: "Licencia personalizada"
|
||||||
|
url_en: "custom"
|
||||||
|
url_es: "custom"
|
||||||
|
description_en: "The license terms are provided by you."
|
||||||
|
description_es: "Los términos de la licencia fueron provistos por vos."
|
||||||
- name_en: 'Peer Production License'
|
- name_en: 'Peer Production License'
|
||||||
name_es: 'Licencia de Producción de Pares'
|
name_es: 'Licencia de Producción de Pares'
|
||||||
short_description_en: "This work is licensed under a Peer Production License"
|
short_description_en: "This work is licensed under a Peer Production License"
|
||||||
|
|
Loading…
Reference in a new issue