Slightly reworked cloud tag and tag page, to display organisation with similar name
This commit is contained in:
parent
769ba8236d
commit
811b4bc0aa
@ -2,7 +2,6 @@
|
||||
class DigestsController < ApplicationController
|
||||
has_scope :region, :locality, :tag
|
||||
has_scope :near, type: :hash, using: %i[location distance]
|
||||
has_scope :moderated, default: nil, allow_blank: true
|
||||
has_scope :period, allow_blank: true, type: :hash, using: %i[year week],
|
||||
default: (
|
||||
lambda do
|
||||
@ -28,6 +27,6 @@ class DigestsController < ApplicationController
|
||||
|
||||
def set_events
|
||||
@week ||= Time.zone.today + 7.days
|
||||
@events = apply_scopes Event
|
||||
@events = apply_scopes Event.moderated
|
||||
end
|
||||
end
|
||||
|
@ -2,6 +2,7 @@
|
||||
class TagsController < InheritedResources::Base
|
||||
has_scope :region, :locality, :daylimit
|
||||
has_scope :tag, as: :id
|
||||
before_action :set_orgas, if: -> { params[:id].present? }
|
||||
|
||||
def index
|
||||
@tags = ActsAsTaggableOn::Tag.where('taggings_count > ?',
|
||||
@ -21,7 +22,6 @@ class TagsController < InheritedResources::Base
|
||||
def show
|
||||
@events_future = apply_scopes Event.moderated.future
|
||||
@events_past = apply_scopes Event.moderated.past
|
||||
@orgas = apply_scopes Orga.moderated.active
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
@ -29,23 +29,16 @@ class TagsController < InheritedResources::Base
|
||||
end
|
||||
end
|
||||
|
||||
def orgas
|
||||
@tags = organise_tags apply_scopes(Orga.moderated)
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.json { render json: @tags }
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# Splits, groups, rejects the less used
|
||||
def organise_tags(tags)
|
||||
tags.where.not(tags: '').pluck(:tags).map(&:split).flatten
|
||||
.group_by { |i| i }
|
||||
.map { |k, v| [k, v.size] }
|
||||
.reject { |_k, v| v <= 3 }
|
||||
.sort { |t| -t[1] }
|
||||
def set_orgas
|
||||
@orgas = (apply_scopes(Orga.moderated.active) +
|
||||
Orga.moderated.active
|
||||
.where(
|
||||
'lower(name) like lower(?)',
|
||||
"%#{params[:id].tr '-', '%'}%"
|
||||
)
|
||||
).uniq
|
||||
end
|
||||
end
|
||||
|
@ -49,6 +49,6 @@ module AgendaDuLibreRails
|
||||
# TODO
|
||||
config.action_controller.per_form_csrf_tokens = false
|
||||
|
||||
config.cloud_threshold = 3
|
||||
config.cloud_threshold = 5
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user