decidim-admin 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of decidim-admin might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/decidim/admin/extra/_label-required.scss +3 -0
- data/app/assets/stylesheets/decidim/admin/extra/_title_bar.scss +57 -1
- data/app/commands/decidim/admin/create_participatory_process_admin.rb +28 -7
- data/app/commands/decidim/admin/create_participatory_process_step.rb +2 -1
- data/app/commands/decidim/admin/destroy_participatory_process_step.rb +5 -2
- data/app/commands/decidim/admin/update_feature.rb +1 -0
- data/app/commands/decidim/admin/update_organization.rb +10 -5
- data/app/commands/decidim/admin/update_participatory_process.rb +4 -2
- data/app/controllers/decidim/admin/application_controller.rb +2 -0
- data/app/controllers/decidim/admin/concerns/has_attachments.rb +10 -1
- data/app/controllers/decidim/admin/concerns/participatory_process_admin.rb +0 -5
- data/app/controllers/decidim/admin/features/base_controller.rb +0 -1
- data/app/controllers/decidim/admin/moderations_controller.rb +7 -4
- data/app/controllers/decidim/admin/organization_controller.rb +9 -3
- data/app/controllers/decidim/admin/participatory_process_user_roles_controller.rb +17 -0
- data/app/controllers/decidim/admin/participatory_processes_controller.rb +11 -3
- data/app/forms/decidim/admin/feature_form.rb +6 -0
- data/app/forms/decidim/admin/organization_form.rb +5 -0
- data/app/forms/decidim/admin/participatory_process_copy_form.rb +2 -3
- data/app/forms/decidim/admin/participatory_process_form.rb +2 -0
- data/app/forms/decidim/admin/static_page_form.rb +6 -0
- data/app/helpers/decidim/admin/menu_helper.rb +1 -1
- data/app/jobs/decidim/admin/newsletter_job.rb +9 -5
- data/app/views/decidim/admin/attachments/_form.html.erb +1 -12
- data/app/views/decidim/admin/features/_feature.html.erb +2 -2
- data/app/views/decidim/admin/features/_form.html.erb +18 -0
- data/app/views/decidim/admin/moderations/_report.html.erb +2 -2
- data/app/views/decidim/admin/organization/_form.html.erb +5 -35
- data/app/views/decidim/admin/participatory_process_groups/_form.html.erb +1 -1
- data/app/views/decidim/admin/participatory_process_user_roles/index.html.erb +16 -0
- data/app/views/decidim/admin/participatory_processes/_form.html.erb +2 -14
- data/app/views/layouts/decidim/admin/_title_bar.html.erb +26 -19
- data/app/views/layouts/decidim/admin/participatory_process.html.erb +2 -2
- data/config/i18n-tasks.yml +2 -0
- data/config/locales/ca.yml +9 -5
- data/config/locales/en.yml +9 -5
- data/config/locales/es.yml +11 -5
- data/config/locales/eu.yml +0 -5
- data/config/locales/fr.yml +18 -23
- data/config/locales/it.yml +0 -5
- data/config/routes.rb +5 -3
- data/lib/decidim/admin/test/manage_attachments_examples.rb +1 -2
- metadata +7 -7
- data/app/assets/stylesheets/decidim/admin/extra/_language-chooser.scss +0 -4
| @@ -10,12 +10,11 @@ module Decidim | |
| 10 10 |  | 
| 11 11 | 
             
                  translatable_attribute :title, String
         | 
| 12 12 |  | 
| 13 | 
            +
                  mimic :participatory_process
         | 
| 14 | 
            +
             | 
| 13 15 | 
             
                  attribute :slug, String
         | 
| 14 16 | 
             
                  attribute :copy_steps, Boolean
         | 
| 15 17 | 
             
                  attribute :copy_categories, Boolean
         | 
| 16 | 
            -
                  attribute :copy_process_users, Boolean
         | 
| 17 | 
            -
                  attribute :copy_moderations, Boolean
         | 
| 18 | 
            -
                  attribute :copy_pages, Boolean
         | 
| 19 18 | 
             
                  attribute :copy_features, Boolean
         | 
| 20 19 |  | 
| 21 20 | 
             
                  validates :slug, presence: true
         | 
| @@ -27,7 +27,9 @@ module Decidim | |
| 27 27 | 
             
                  attribute :promoted, Boolean
         | 
| 28 28 | 
             
                  attribute :scope_id, Integer
         | 
| 29 29 | 
             
                  attribute :hero_image
         | 
| 30 | 
            +
                  attribute :remove_hero_image
         | 
| 30 31 | 
             
                  attribute :banner_image
         | 
| 32 | 
            +
                  attribute :remove_banner_image
         | 
| 31 33 | 
             
                  attribute :participatory_process_group_id, Integer
         | 
| 32 34 |  | 
| 33 35 | 
             
                  validates :slug, presence: true
         | 
| @@ -14,10 +14,16 @@ module Decidim | |
| 14 14 |  | 
| 15 15 | 
             
                  validates :slug, presence: true
         | 
| 16 16 | 
             
                  validates :title, :content, translatable_presence: true
         | 
| 17 | 
            +
                  validates :slug, format: { with: /\A[a-z0-9-]+/ }
         | 
| 18 | 
            +
             | 
| 17 19 | 
             
                  validate :slug, :slug_uniqueness
         | 
| 18 20 |  | 
| 19 21 | 
             
                  alias organization current_organization
         | 
| 20 22 |  | 
| 23 | 
            +
                  def slug
         | 
| 24 | 
            +
                    super.to_s.downcase
         | 
| 25 | 
            +
                  end
         | 
| 26 | 
            +
             | 
| 21 27 | 
             
                  private
         | 
| 22 28 |  | 
| 23 29 | 
             
                  def slug_uniqueness
         | 
| @@ -8,10 +8,12 @@ module Decidim | |
| 8 8 | 
             
                  queue_as :newsletter
         | 
| 9 9 |  | 
| 10 10 | 
             
                  def perform(newsletter)
         | 
| 11 | 
            -
                    newsletter | 
| 12 | 
            -
                      raise "Newsletter already sent" if newsletter.sent?
         | 
| 11 | 
            +
                    @newsletter = newsletter
         | 
| 13 12 |  | 
| 14 | 
            -
             | 
| 13 | 
            +
                    @newsletter.with_lock do
         | 
| 14 | 
            +
                      raise "Newsletter already sent" if @newsletter.sent?
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                      @newsletter.update_attributes!(
         | 
| 15 17 | 
             
                        sent_at: Time.current,
         | 
| 16 18 | 
             
                        total_recipients: recipients.count,
         | 
| 17 19 | 
             
                        total_deliveries: 0
         | 
| @@ -19,14 +21,16 @@ module Decidim | |
| 19 21 | 
             
                    end
         | 
| 20 22 |  | 
| 21 23 | 
             
                    recipients.find_each do |user|
         | 
| 22 | 
            -
                      NewsletterDeliveryJob.perform_later(user, newsletter)
         | 
| 24 | 
            +
                      NewsletterDeliveryJob.perform_later(user, @newsletter)
         | 
| 23 25 | 
             
                    end
         | 
| 24 26 | 
             
                  end
         | 
| 25 27 |  | 
| 26 28 | 
             
                  private
         | 
| 27 29 |  | 
| 28 30 | 
             
                  def recipients
         | 
| 29 | 
            -
                    @recipients ||= User.where(newsletter_notifications: true | 
| 31 | 
            +
                    @recipients ||= User.where(newsletter_notifications: true, organization: @newsletter.organization)
         | 
| 32 | 
            +
                                        .where.not(email: nil, confirmed_at: nil)
         | 
| 33 | 
            +
                                        .not_deleted
         | 
| 30 34 | 
             
                  end
         | 
| 31 35 | 
             
                end
         | 
| 32 36 | 
             
              end
         | 
| @@ -15,18 +15,7 @@ | |
| 15 15 | 
             
                </div>
         | 
| 16 16 |  | 
| 17 17 | 
             
                <div class="row column">
         | 
| 18 | 
            -
                  <%= form. | 
| 18 | 
            +
                  <%= form.upload :file, optional: false %>
         | 
| 19 19 | 
             
                </div>
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                <% if @attachment && @attachment.file.present? %>
         | 
| 22 | 
            -
                  <div class="row column">
         | 
| 23 | 
            -
                    <label><%= t('.current_file') %></label>
         | 
| 24 | 
            -
                    <% if @attachment.photo? %>
         | 
| 25 | 
            -
                      <%= image_tag form.object.file.url(:thumbnail) %>
         | 
| 26 | 
            -
                    <% end %>
         | 
| 27 | 
            -
                    <label><%= t('.url') %></label>
         | 
| 28 | 
            -
                    <%= link_to @attachment.file.url, @attachment.file.url, target: "_blank" %>
         | 
| 29 | 
            -
                  </div>
         | 
| 30 | 
            -
                <% end %>
         | 
| 31 20 | 
             
              </div>
         | 
| 32 21 | 
             
            </div>
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            <tr class="feature-<%= feature.id %>">
         | 
| 2 2 | 
             
              <td>
         | 
| 3 | 
            -
                <%= link_to  | 
| 3 | 
            +
                <%= link_to feature_path(feature), target: "_blank" do %>
         | 
| 4 4 | 
             
                  <%= translated_attribute feature.name %>
         | 
| 5 5 | 
             
                <% end %>
         | 
| 6 6 | 
             
              </td>
         | 
| @@ -9,7 +9,7 @@ | |
| 9 9 | 
             
              </td>
         | 
| 10 10 | 
             
              <td class="table-list__actions">
         | 
| 11 11 | 
             
                <% if feature.manifest.admin_engine %>
         | 
| 12 | 
            -
                  <%= icon_link_to "pencil", manage_feature_path( | 
| 12 | 
            +
                  <%= icon_link_to "pencil", manage_feature_path(feature), t("actions.manage", scope: "decidim.admin"), class: "action-icon--manage" %>
         | 
| 13 13 | 
             
                <% end %>
         | 
| 14 14 |  | 
| 15 15 | 
             
                <% if can?(:update, feature) %>
         | 
| @@ -55,6 +55,24 @@ | |
| 55 55 | 
             
                        </div>
         | 
| 56 56 | 
             
                      </div>
         | 
| 57 57 | 
             
                    </fieldset>
         | 
| 58 | 
            +
                  <% elsif form.object.default_step_settings? %>
         | 
| 59 | 
            +
                    <fieldset class="default-step-settings">
         | 
| 60 | 
            +
                      <div class="card">
         | 
| 61 | 
            +
                        <div class="card-divider">
         | 
| 62 | 
            +
                          <legend><%= t ".default_step_settings" %></legend>
         | 
| 63 | 
            +
                        </div>
         | 
| 64 | 
            +
                        <div class="card-section">
         | 
| 65 | 
            +
                          <%= form.fields_for :default_step_settings, form.object.default_step_settings do |settings_fields| %>
         | 
| 66 | 
            +
                            <%= render partial: "decidim/admin/features/settings_fields",
         | 
| 67 | 
            +
                                      locals: {
         | 
| 68 | 
            +
                                        form: settings_fields,
         | 
| 69 | 
            +
                                        feature: @feature,
         | 
| 70 | 
            +
                                        settings_name: "step"
         | 
| 71 | 
            +
                                      } %>
         | 
| 72 | 
            +
                          <% end %>
         | 
| 73 | 
            +
                        </div>
         | 
| 74 | 
            +
                      </div>
         | 
| 75 | 
            +
                    </fieldset>
         | 
| 58 76 | 
             
                  <% end %>
         | 
| 59 77 | 
             
                </div>
         | 
| 60 78 | 
             
              </div>
         | 
| @@ -1,11 +1,11 @@ | |
| 1 1 | 
             
            <% if report.details.blank? %>
         | 
| 2 | 
            -
              <%= report.reason %>
         | 
| 2 | 
            +
              <%= t(".reasons.#{report.reason}") %>
         | 
| 3 3 | 
             
            <% else %>
         | 
| 4 4 | 
             
              <span
         | 
| 5 5 | 
             
                data-tooltip
         | 
| 6 6 | 
             
                aria-haspopup="true"
         | 
| 7 7 | 
             
                class="has-tip"
         | 
| 8 8 | 
             
                title="<%= report.details %>">
         | 
| 9 | 
            -
                  <%= report.reason %>
         | 
| 9 | 
            +
                  <%= t(".reasons.#{report.reason}") %>
         | 
| 10 10 | 
             
              </span>
         | 
| 11 11 | 
             
            <% end %>
         | 
| @@ -42,55 +42,25 @@ | |
| 42 42 |  | 
| 43 43 | 
             
            <div class="row">
         | 
| 44 44 | 
             
              <div class="columns xlarge-4">
         | 
| 45 | 
            -
                <%= form. | 
| 46 | 
            -
                <% if current_organization.homepage_image.present? %>
         | 
| 47 | 
            -
                  <label><%= t('.current_image') %></label>
         | 
| 48 | 
            -
                  <%= image_tag current_organization.homepage_image.big.url %>
         | 
| 49 | 
            -
                  <label><%= t('.url') %></label>
         | 
| 50 | 
            -
                  <%= link_to current_organization.homepage_image.file.filename, current_organization.homepage_image.url, target: "_blank" %>
         | 
| 51 | 
            -
                <% end %>
         | 
| 45 | 
            +
                <%= form.upload :homepage_image %>
         | 
| 52 46 | 
             
              </div>
         | 
| 53 47 |  | 
| 54 48 | 
             
              <div class="columns xlarge-4">
         | 
| 55 | 
            -
                <%= form. | 
| 56 | 
            -
                <% if current_organization.logo.present? %>
         | 
| 57 | 
            -
                  <label><%= t('.current_image') %></label>
         | 
| 58 | 
            -
                  <%= image_tag current_organization.logo.medium.url %>
         | 
| 59 | 
            -
                  <label><%= t('.url') %></label>
         | 
| 60 | 
            -
                  <%= link_to current_organization.logo.file.filename, current_organization.logo.url, target: "_blank" %>
         | 
| 61 | 
            -
                <% end %>
         | 
| 49 | 
            +
                <%= form.upload :logo %>
         | 
| 62 50 | 
             
              </div>
         | 
| 63 51 |  | 
| 64 52 | 
             
              <div class="columns xlarge-4">
         | 
| 65 | 
            -
                <%= form. | 
| 66 | 
            -
                <% if current_organization.favicon.present? %>
         | 
| 67 | 
            -
                  <label><%= t('.current_image') %></label>
         | 
| 68 | 
            -
                  <%= image_tag current_organization.favicon.big.url %>
         | 
| 69 | 
            -
                  <label><%= t('.url') %></label>
         | 
| 70 | 
            -
                  <%= link_to current_organization.favicon.file.filename, current_organization.favicon.url, target: "_blank" %>
         | 
| 71 | 
            -
                <% end %>
         | 
| 53 | 
            +
                <%= form.upload :favicon %>
         | 
| 72 54 | 
             
              </div>
         | 
| 73 55 | 
             
            </div>
         | 
| 74 56 |  | 
| 75 57 | 
             
            <div class="row">
         | 
| 76 58 | 
             
              <div class="columns xlarge-6">
         | 
| 77 | 
            -
                <%= form. | 
| 78 | 
            -
                <% if current_organization.official_img_header.present? %>
         | 
| 79 | 
            -
                  <label><%= t('.current_image') %></label>
         | 
| 80 | 
            -
                  <%= image_tag current_organization.official_img_header.url %>
         | 
| 81 | 
            -
                  <label><%= t('.url') %></label>
         | 
| 82 | 
            -
                  <%= link_to current_organization.official_img_header.file.filename, current_organization.official_img_header.url, target: "_blank" %>
         | 
| 83 | 
            -
                <% end %>
         | 
| 59 | 
            +
                <%= form.upload :official_img_header %>
         | 
| 84 60 | 
             
              </div>
         | 
| 85 61 |  | 
| 86 62 | 
             
              <div class="columns xlarge-6">
         | 
| 87 | 
            -
                <%= form. | 
| 88 | 
            -
                <% if current_organization.official_img_footer.present? %>
         | 
| 89 | 
            -
                  <label><%= t('.current_image') %></label>
         | 
| 90 | 
            -
                  <%= image_tag current_organization.official_img_footer.url %>
         | 
| 91 | 
            -
                  <label><%= t('.url') %></label>
         | 
| 92 | 
            -
                  <%= link_to current_organization.official_img_footer.file.filename, current_organization.official_img_footer.url, target: "_blank" %>
         | 
| 93 | 
            -
                <% end %>
         | 
| 63 | 
            +
                <%= form.upload :official_img_footer %>
         | 
| 94 64 | 
             
              </div>
         | 
| 95 65 | 
             
            </div>
         | 
| 96 66 |  | 
| @@ -15,6 +15,8 @@ | |
| 15 15 | 
             
                      <tr>
         | 
| 16 16 | 
             
                        <th><%= t("models.participatory_process_user_role.fields.name", scope: "decidim.admin") %></th>
         | 
| 17 17 | 
             
                        <th><%= t("models.participatory_process_user_role.fields.email", scope: "decidim.admin") %></th>
         | 
| 18 | 
            +
                        <th><%= t("models.user.fields.invitation_sent_at", scope: "decidim.admin") %></th>
         | 
| 19 | 
            +
                        <th><%= t("models.user.fields.invitation_accepted_at", scope: "decidim.admin") %></th>
         | 
| 18 20 | 
             
                        <th><%= t("models.participatory_process_user_role.fields.role", scope: "decidim.admin") %></th>
         | 
| 19 21 | 
             
                        <th class="actions"></th>
         | 
| 20 22 | 
             
                      </tr>
         | 
| @@ -28,10 +30,24 @@ | |
| 28 30 | 
             
                          <td>
         | 
| 29 31 | 
             
                            <%= role.user.email %><br />
         | 
| 30 32 | 
             
                          </td>
         | 
| 33 | 
            +
                          <td>
         | 
| 34 | 
            +
                            <% if role.user.invitation_sent_at %>
         | 
| 35 | 
            +
                              <%= l role.user.invitation_sent_at, format: :short %>
         | 
| 36 | 
            +
                            <% end %>
         | 
| 37 | 
            +
                          </td>
         | 
| 38 | 
            +
                          <td>
         | 
| 39 | 
            +
                            <% if role.user.invitation_accepted_at %>
         | 
| 40 | 
            +
                              <%= l role.user.invitation_accepted_at, format: :short %>
         | 
| 41 | 
            +
                            <% end %>
         | 
| 42 | 
            +
                          </td>
         | 
| 31 43 | 
             
                          <td>
         | 
| 32 44 | 
             
                            <%= t("#{role.role}", scope: "decidim.admin.models.participatory_process_user_role.roles") %><br />
         | 
| 33 45 | 
             
                          </td>
         | 
| 34 46 | 
             
                          <td class="table-list__actions">
         | 
| 47 | 
            +
                            <% if can?(:invite, role) && role.user.invited_to_sign_up? %>
         | 
| 48 | 
            +
                              <%= icon_link_to "reload", resend_invitation_participatory_process_user_role_path(participatory_process, role), t("actions.resend_invitation", scope: "decidim.admin"), class: "resend-invitation", method: :post %>
         | 
| 49 | 
            +
                            <% end %>
         | 
| 50 | 
            +
             | 
| 35 51 | 
             
                            <% if can? :update, role %>
         | 
| 36 52 | 
             
                              <%= icon_link_to "pencil", edit_participatory_process_user_role_path(participatory_process, role), t("actions.edit", scope: "decidim.admin"), class: "action-icon--edit" %>
         | 
| 37 53 | 
             
                            <% end %>
         | 
| @@ -36,23 +36,11 @@ | |
| 36 36 |  | 
| 37 37 | 
             
                <div class="row">
         | 
| 38 38 | 
             
                  <div class="columns xlarge-6">
         | 
| 39 | 
            -
                    <%= form. | 
| 40 | 
            -
                    <% if @participatory_process && @participatory_process.hero_image.present? %>
         | 
| 41 | 
            -
                      <label><%= t('.current_image') %></label>
         | 
| 42 | 
            -
                      <%= image_tag @participatory_process.hero_image.url %>
         | 
| 43 | 
            -
                      <label><%= t('.url') %></label>
         | 
| 44 | 
            -
                      <%= link_to @participatory_process.hero_image.url, @participatory_process.hero_image.url, target: "_blank" %>
         | 
| 45 | 
            -
                    <% end %>
         | 
| 39 | 
            +
                    <%= form.upload :hero_image %>
         | 
| 46 40 | 
             
                  </div>
         | 
| 47 41 |  | 
| 48 42 | 
             
                  <div class="columns xlarge-6">
         | 
| 49 | 
            -
                    <%= form. | 
| 50 | 
            -
                    <% if @participatory_process && @participatory_process.banner_image.present? %>
         | 
| 51 | 
            -
                      <label><%= t('.current_image') %></label>
         | 
| 52 | 
            -
                      <%= image_tag @participatory_process.banner_image.url %>
         | 
| 53 | 
            -
                      <label><%= t('.url') %></label>
         | 
| 54 | 
            -
                      <%= link_to @participatory_process.banner_image.url, @participatory_process.banner_image.url, target: "_blank" %>
         | 
| 55 | 
            -
                    <% end %>
         | 
| 43 | 
            +
                    <%= form.upload :banner_image %>
         | 
| 56 44 | 
             
                  </div>
         | 
| 57 45 | 
             
                </div>
         | 
| 58 46 |  | 
| @@ -1,30 +1,37 @@ | |
| 1 1 | 
             
            <div class="title-bar">
         | 
| 2 2 | 
             
              <a href="#menu" class="menu-trigger"><%= icon "menu" %></a>
         | 
| 3 | 
            -
              <%= link_to root_path, class: "logo" do %>
         | 
| 3 | 
            +
              <%= link_to decidim.root_path, class: "logo", target: "_blank" do %>
         | 
| 4 4 | 
             
                <% if current_organization.logo.present? %>
         | 
| 5 5 | 
             
                  <%= image_tag current_organization.logo.url, alt: title %>
         | 
| 6 6 | 
             
                <% else %>
         | 
| 7 7 | 
             
                  <%= title %>
         | 
| 8 8 | 
             
                <% end %>
         | 
| 9 9 | 
             
              <% end %>
         | 
| 10 | 
            -
              <div class= | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
                     | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
                        < | 
| 17 | 
            -
             | 
| 10 | 
            +
              <div class='tool-bar'>
         | 
| 11 | 
            +
                <% if available_locales.length > 1 %>
         | 
| 12 | 
            +
                <div class="topbar__dropmenu language-choose">
         | 
| 13 | 
            +
                    <ul class="dropdown menu" data-dropdown-menu>
         | 
| 14 | 
            +
                      <li class="is-dropdown-submenu-parent">
         | 
| 15 | 
            +
                        <%= link_to t("name", scope: "locale") %>
         | 
| 16 | 
            +
                        <ul class="menu is-dropdown-submenu">
         | 
| 17 | 
            +
                          <% (available_locales - [I18n.locale.to_s]).each do |locale| %>
         | 
| 18 | 
            +
                            <li><%= link_to locale_name(locale), decidim.locale_path(locale: locale), method: :post%></li>
         | 
| 19 | 
            +
                          <% end %>
         | 
| 20 | 
            +
                        </ul>
         | 
| 21 | 
            +
                      </li>
         | 
| 18 22 | 
             
                    </ul>
         | 
| 19 | 
            -
                  </ | 
| 20 | 
            -
                 | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
                    < | 
| 25 | 
            -
                      < | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 23 | 
            +
                  </div>
         | 
| 24 | 
            +
                <% end %>
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                <div class="user-login">
         | 
| 27 | 
            +
                  <ul class="dropdown menu" data-dropdown-menu>
         | 
| 28 | 
            +
                    <li class="is-dropdown-submenu-parent">
         | 
| 29 | 
            +
                      <a href="#"><%= current_user.email %></a>
         | 
| 30 | 
            +
                      <ul class="menu is-dropdown-submenu">
         | 
| 31 | 
            +
                        <li><%= link_to('Logout', decidim.destroy_user_session_path, method: :delete) %></li>
         | 
| 32 | 
            +
                      </ul>
         | 
| 33 | 
            +
                    </li>
         | 
| 34 | 
            +
                  </ul>
         | 
| 35 | 
            +
                </div>
         | 
| 29 36 | 
             
              </div>
         | 
| 30 37 | 
             
            </div>
         | 
| @@ -17,8 +17,8 @@ | |
| 17 17 | 
             
                      <ul>
         | 
| 18 18 | 
             
                        <% participatory_process.features.each do |feature| %>
         | 
| 19 19 | 
             
                          <% if feature.manifest.admin_engine %>
         | 
| 20 | 
            -
                            <li <% if is_active_link?( | 
| 21 | 
            -
                              <%= link_to  | 
| 20 | 
            +
                            <li <% if is_active_link?(manage_feature_path(feature)) %> class="is-active" <% end %>>
         | 
| 21 | 
            +
                              <%= link_to manage_feature_path(feature) do %>
         | 
| 22 22 | 
             
                                <%= translated_attribute feature.name %>
         | 
| 23 23 | 
             
                                <% if feature.primary_stat.present? %>
         | 
| 24 24 | 
             
                                  <span class="component-counter <%= "component-counter--off" if feature.primary_stat.zero? %>"><%= feature.primary_stat %></span>
         | 
    
        data/config/i18n-tasks.yml
    CHANGED
    
    | @@ -88,6 +88,7 @@ ignore_missing: | |
| 88 88 | 
             
            # - '{devise,simple_form}.*'
         | 
| 89 89 | 
             
             - decidim.participatory_processes.scopes.global
         | 
| 90 90 | 
             
             - locale.name
         | 
| 91 | 
            +
             - forms.required
         | 
| 91 92 |  | 
| 92 93 | 
             
            ## Consider these keys used:
         | 
| 93 94 | 
             
            ignore_unused:
         | 
| @@ -98,6 +99,7 @@ ignore_unused: | |
| 98 99 | 
             
             - actions.confirm_destroy
         | 
| 99 100 | 
             
             - time.formats.*
         | 
| 100 101 | 
             
             - date.formats.*
         | 
| 102 | 
            +
             - forms.*
         | 
| 101 103 |  | 
| 102 104 | 
             
            # - '{devise,kaminari,will_paginate}.*'
         | 
| 103 105 | 
             
            # - 'simple_form.{yes,no}'
         | 
    
        data/config/locales/ca.yml
    CHANGED
    
    | @@ -32,6 +32,9 @@ ca: | |
| 32 32 | 
             
                    welcome_text: Text de benvinguda
         | 
| 33 33 | 
             
                  participatory_process:
         | 
| 34 34 | 
             
                    banner_image: Imatge de bandera
         | 
| 35 | 
            +
                    copy_categories: Copiar categories
         | 
| 36 | 
            +
                    copy_features: Copiar funcionalitats
         | 
| 37 | 
            +
                    copy_steps: Copiar fases
         | 
| 35 38 | 
             
                    description: Descripció
         | 
| 36 39 | 
             
                    developer_group: Grup promotor
         | 
| 37 40 | 
             
                    domain: Àrees municipals
         | 
| @@ -136,9 +139,6 @@ ca: | |
| 136 139 | 
             
                    edit:
         | 
| 137 140 | 
             
                      title: Edita arxiu adjunt
         | 
| 138 141 | 
             
                      update: Actualitzar
         | 
| 139 | 
            -
                    form:
         | 
| 140 | 
            -
                      current_file: Fitxer actual
         | 
| 141 | 
            -
                      url: URL
         | 
| 142 142 | 
             
                    new:
         | 
| 143 143 | 
             
                      create: Crea arxiu adjunt
         | 
| 144 144 | 
             
                      title: Nou arxiu adjunt
         | 
| @@ -201,6 +201,7 @@ ca: | |
| 201 201 | 
             
                      title: Editar funcionalitat
         | 
| 202 202 | 
             
                      update: Actualitza
         | 
| 203 203 | 
             
                    form:
         | 
| 204 | 
            +
                      default_step_settings: Configuració per defecte
         | 
| 204 205 | 
             
                      global_settings: Configuració global
         | 
| 205 206 | 
             
                      step_settings: Configuració de fase
         | 
| 206 207 | 
             
                    index:
         | 
| @@ -309,6 +310,11 @@ ca: | |
| 309 310 | 
             
                  moderations:
         | 
| 310 311 | 
             
                    index:
         | 
| 311 312 | 
             
                      title: Moderacions
         | 
| 313 | 
            +
                    report:
         | 
| 314 | 
            +
                      reasons:
         | 
| 315 | 
            +
                        does_not_belong: No pertany
         | 
| 316 | 
            +
                        offensive: Ofensiu
         | 
| 317 | 
            +
                        spam: Contingut brossa
         | 
| 312 318 | 
             
                  newsletters:
         | 
| 313 319 | 
             
                    create:
         | 
| 314 320 | 
             
                      error: S'ha produït un error en crear aquest butlletí.
         | 
| @@ -427,9 +433,7 @@ ca: | |
| 427 433 | 
             
                    edit:
         | 
| 428 434 | 
             
                      update: Actualitzar
         | 
| 429 435 | 
             
                    form:
         | 
| 430 | 
            -
                      current_image: imatge actual
         | 
| 431 436 | 
             
                      title: Informació general
         | 
| 432 | 
            -
                      url: URL
         | 
| 433 437 | 
             
                    index:
         | 
| 434 438 | 
             
                      not_published: No publicat
         | 
| 435 439 | 
             
                      published: Publicat
         | 
    
        data/config/locales/en.yml
    CHANGED
    
    | @@ -33,6 +33,9 @@ en: | |
| 33 33 | 
             
                    welcome_text: Welcome text
         | 
| 34 34 | 
             
                  participatory_process:
         | 
| 35 35 | 
             
                    banner_image: Banner image
         | 
| 36 | 
            +
                    copy_categories: Copy categories
         | 
| 37 | 
            +
                    copy_features: Copy features
         | 
| 38 | 
            +
                    copy_steps: Copy steps
         | 
| 36 39 | 
             
                    description: Description
         | 
| 37 40 | 
             
                    developer_group: Developer group
         | 
| 38 41 | 
             
                    domain: Domain
         | 
| @@ -137,9 +140,6 @@ en: | |
| 137 140 | 
             
                    edit:
         | 
| 138 141 | 
             
                      title: Edit attachment
         | 
| 139 142 | 
             
                      update: Update
         | 
| 140 | 
            -
                    form:
         | 
| 141 | 
            -
                      current_file: Current file
         | 
| 142 | 
            -
                      url: Url
         | 
| 143 143 | 
             
                    new:
         | 
| 144 144 | 
             
                      create: Create attachment
         | 
| 145 145 | 
             
                      title: New attachment
         | 
| @@ -202,6 +202,7 @@ en: | |
| 202 202 | 
             
                      title: Edit feature
         | 
| 203 203 | 
             
                      update: Update
         | 
| 204 204 | 
             
                    form:
         | 
| 205 | 
            +
                      default_step_settings: Default step settings
         | 
| 205 206 | 
             
                      global_settings: Global settings
         | 
| 206 207 | 
             
                      step_settings: Step settings
         | 
| 207 208 | 
             
                    index:
         | 
| @@ -310,6 +311,11 @@ en: | |
| 310 311 | 
             
                  moderations:
         | 
| 311 312 | 
             
                    index:
         | 
| 312 313 | 
             
                      title: Moderations
         | 
| 314 | 
            +
                    report:
         | 
| 315 | 
            +
                      reasons:
         | 
| 316 | 
            +
                        does_not_belong: Does not belong
         | 
| 317 | 
            +
                        offensive: Offensive
         | 
| 318 | 
            +
                        spam: Spam
         | 
| 313 319 | 
             
                  newsletters:
         | 
| 314 320 | 
             
                    create:
         | 
| 315 321 | 
             
                      error: There's been an error creating this newsletter.
         | 
| @@ -428,9 +434,7 @@ en: | |
| 428 434 | 
             
                    edit:
         | 
| 429 435 | 
             
                      update: Update
         | 
| 430 436 | 
             
                    form:
         | 
| 431 | 
            -
                      current_image: Current image
         | 
| 432 437 | 
             
                      title: General Information
         | 
| 433 | 
            -
                      url: Url
         | 
| 434 438 | 
             
                    index:
         | 
| 435 439 | 
             
                      not_published: Not published
         | 
| 436 440 | 
             
                      published: Published
         |