Module: Decidim::Design::AddressHelper

Defined in:
decidim-design/app/helpers/decidim/design/address_helper.rb

Instance Method Summary collapse

Instance Method Details

#address_itemObject



61
62
63
64
65
66
67
68
69
70
71
# File 'decidim-design/app/helpers/decidim/design/address_helper.rb', line 61

def address_item
  addressable_class.new(
    organization: current_organization,
    location: "Barcelona",
    address: "Carrer del Pare Llaurador, 113",
    latitude: 40.1234,
    longitude: 2.1234,
    start_time: 2.days.from_now,
    end_time: 2.days.from_now + 4.hours
  )
end

#address_sectionsObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'decidim-design/app/helpers/decidim/design/address_helper.rb', line 6

def address_sections
  [
    {
      id: t("decidim.design.helpers.demo"),
      contents: [
        {
          type: :text,
          values: [
            t("decidim.design.helpers.address_description")
          ]
        },
        {
          values: cell("decidim/address", address_item)
        },
        {
          type: :text,
          values: [
            t("decidim.design.helpers.address_description_2")
          ]
        },
        {
          values: cell("decidim/address", online_item, online: true)
        }
      ]
    },
    {
      id: t("decidim.design.helpers.source_code"),
      contents: [
        {
          type: :text,
          values: [""],
          cell_snippet: {
            cell: "decidim/address",
            args: [address_item],
            call_string: [
              'cell("decidim/address", _RESOURCE_)',
              'cell("decidim/address", _RESOURCE_, online: true)'
            ]
          }
        }
      ]
    }
  ]
end

#addressable_classObject



51
52
53
54
55
56
57
58
59
# File 'decidim-design/app/helpers/decidim/design/address_helper.rb', line 51

def addressable_class
  Class.new(ApplicationRecord) do
    self.table_name = Decidim::Pages::Page.table_name

    attr_accessor :organization, :location, :address, :latitude, :longitude, :online_meeting_url, :type_of_meeting, :start_time, :end_time

    geocoded_by :address
  end
end

#online_itemObject



73
74
75
76
77
78
79
80
81
# File 'decidim-design/app/helpers/decidim/design/address_helper.rb', line 73

def online_item
  addressable_class.new(
    organization: current_organization,
    type_of_meeting: "online",
    online_meeting_url: "https://meet.jit.si/DecidimTry",
    start_time: 2.days.from_now,
    end_time: 2.days.from_now + 4.hours
  )
end