Class: Decidim::Dev::DummyResource

Class Method Summary collapse

Instance Method Summary collapse

Methods included from HasAttachments

#attachment_context

Methods included from Amendable

#add_author, #amendable?, #amendable_fields, #amendable_form, #amendment, #emendation?, #linked_promoted_resource, #notifiable_identities, #process_amendment_state_change!, #state, #visible_amendments_for, #visible_emendations_for

Methods included from Searchable

searchable_resources, searchable_resources_by_type, searchable_resources_of_type_comment, searchable_resources_of_type_component, searchable_resources_of_type_participant, searchable_resources_of_type_participatory_space

Methods included from Publicable

#previously_published?, #publish!, #published?, #unpublish!

Methods included from Followable

#followers

Methods included from TranslatableAttributes

#default_locale?

Class Method Details

.export_serializerObject



82
83
84
# File 'decidim-dev/app/models/decidim/dev/dummy_resource.rb', line 82

def self.export_serializer
  DummySerializer
end

.newsletter_participant_ids(component) ⇒ Object



86
87
88
89
90
91
92
93
94
# File 'decidim-dev/app/models/decidim/dev/dummy_resource.rb', line 86

def self.newsletter_participant_ids(component)
  authors_ids = Decidim::Dev::DummyResource.where(component:)
                                           .where(decidim_author_type: Decidim::UserBaseEntity.name)
                                           .where.not(author: nil)
                                           .group(:decidim_author_id)
                                           .pluck(:decidim_author_id)
  commentators_ids = Decidim::Comments::Comment.user_commentators_ids_in(Decidim::Dev::DummyResource.where(component:))
  (authors_ids + commentators_ids).flatten.compact.uniq
end

.user_collection(user) ⇒ Object



78
79
80
# File 'decidim-dev/app/models/decidim/dev/dummy_resource.rb', line 78

def self.user_collection(user)
  where(decidim_author_id: user.id, decidim_author_type: "Decidim::User")
end

Instance Method Details

#allow_resource_permissions?Boolean

Returns:

  • (Boolean)


57
58
59
# File 'decidim-dev/app/models/decidim/dev/dummy_resource.rb', line 57

def allow_resource_permissions?
  component.settings.resources_permissions_enabled
end

#commentable?Boolean

Public: Overrides the ‘commentable?` Commentable concern method.

Returns:

  • (Boolean)


62
63
64
# File 'decidim-dev/app/models/decidim/dev/dummy_resource.rb', line 62

def commentable?
  component.settings.comments_enabled?
end

#reported_attributesObject



49
50
51
# File 'decidim-dev/app/models/decidim/dev/dummy_resource.rb', line 49

def reported_attributes
  [:title]
end

#reported_content_urlObject



45
46
47
# File 'decidim-dev/app/models/decidim/dev/dummy_resource.rb', line 45

def reported_content_url
  ResourceLocatorPresenter.new(self).url
end

#reported_searchable_content_extrasObject



53
54
55
# File 'decidim-dev/app/models/decidim/dev/dummy_resource.rb', line 53

def reported_searchable_content_extras
  [normalized_author.name]
end

#user_allowed_to_comment?(user) ⇒ Boolean

Public: Whether the object can have new comments or not.

Returns:

  • (Boolean)


67
68
69
70
71
# File 'decidim-dev/app/models/decidim/dev/dummy_resource.rb', line 67

def user_allowed_to_comment?(user)
  return unless component.can_participate_in_space?(user)

  ActionAuthorizer.new(user, "comment", component, self).authorize.ok?
end

#user_allowed_to_vote_comment?(user) ⇒ Boolean

Public: Whether the object can have new comment votes or not.

Returns:

  • (Boolean)


74
75
76
# File 'decidim-dev/app/models/decidim/dev/dummy_resource.rb', line 74

def user_allowed_to_vote_comment?(user)
  component.can_participate_in_space?(user)
end