diff --git a/app/assets/javascripts/budget_edit_associations.js b/app/assets/javascripts/budget_edit_associations.js index 83c7ae3a6..37a2d328e 100644 --- a/app/assets/javascripts/budget_edit_associations.js +++ b/app/assets/javascripts/budget_edit_associations.js @@ -4,15 +4,13 @@ initialize: function() { $(".js-budget-users-list [type='checkbox']").on({ change: function() { - var admin_count, tracker_count, valuator_count; + var admin_count, valuator_count; admin_count = $("#administrators_list :checked").length; valuator_count = $("#valuators_list :checked").length; - tracker_count = $("#trackers_list :checked").length; App.I18n.set_pluralize($(".js-budget-show-administrators-list"), admin_count); App.I18n.set_pluralize($(".js-budget-show-valuators-list"), valuator_count); - App.I18n.set_pluralize($(".js-budget-show-trackers-list"), tracker_count); } }); $(".js-budget-show-users-list").on({ diff --git a/app/controllers/tracking/budget_investment_milestones_controller.rb b/app/controllers/admin/budget_investment_milestones_controller.rb similarity index 55% rename from app/controllers/tracking/budget_investment_milestones_controller.rb rename to app/controllers/admin/budget_investment_milestones_controller.rb index 25ad0cab6..6879298d9 100644 --- a/app/controllers/tracking/budget_investment_milestones_controller.rb +++ b/app/controllers/admin/budget_investment_milestones_controller.rb @@ -1,4 +1,4 @@ -class Tracking::BudgetInvestmentMilestonesController < Tracking::MilestonesController +class Admin::BudgetInvestmentMilestonesController < Admin::MilestonesController private def milestoneable diff --git a/app/controllers/admin/budget_investment_progress_bars_controller.rb b/app/controllers/admin/budget_investment_progress_bars_controller.rb new file mode 100644 index 000000000..4cc34570c --- /dev/null +++ b/app/controllers/admin/budget_investment_progress_bars_controller.rb @@ -0,0 +1,7 @@ +class Admin::BudgetInvestmentProgressBarsController < Admin::ProgressBarsController + private + + def progressable + Budget::Investment.find(params[:budget_investment_id]) + end +end diff --git a/app/controllers/admin/budget_investments_controller.rb b/app/controllers/admin/budget_investments_controller.rb index bb71ef946..78fcfc806 100644 --- a/app/controllers/admin/budget_investments_controller.rb +++ b/app/controllers/admin/budget_investments_controller.rb @@ -87,7 +87,7 @@ class Admin::BudgetInvestmentsController < Admin::BaseController def budget_investment_params attributes = [:external_url, :heading_id, :administrator_id, :tag_list, :valuation_tag_list, :incompatible, :visible_to_valuators, :selected, - :milestone_tag_list, tracker_ids: [], valuator_ids: [], valuator_group_ids: []] + :milestone_tag_list, valuator_ids: [], valuator_group_ids: []] params.require(:budget_investment).permit(attributes, translation_params(Budget::Investment)) end @@ -101,7 +101,6 @@ class Admin::BudgetInvestmentsController < Admin::BaseController def load_staff @admins = @budget.administrators.includes(:user) - @trackers = @budget.trackers.includes(:user).order(description: :asc).order("users.email ASC") @valuators = @budget.valuators.includes(:user).order(description: :asc).order("users.email ASC") end diff --git a/app/controllers/admin/budgets_controller.rb b/app/controllers/admin/budgets_controller.rb index 30395face..f95c8c6d9 100644 --- a/app/controllers/admin/budgets_controller.rb +++ b/app/controllers/admin/budgets_controller.rb @@ -71,8 +71,7 @@ class Admin::BudgetsController < Admin::BaseController valid_attributes = [:phase, :currency_symbol, administrator_ids: [], - valuator_ids: [], - tracker_ids: [] + valuator_ids: [] ] + descriptions params.require(:budget).permit(*valid_attributes, *report_attributes, translation_params(Budget)) end @@ -83,7 +82,6 @@ class Admin::BudgetsController < Admin::BaseController def load_staff @admins = Administrator.includes(:user) - @trackers = Tracker.includes(:user).order(description: :asc).order("users.email ASC") @valuators = Valuator.includes(:user).order(description: :asc).order("users.email ASC") end end diff --git a/app/controllers/admin/legislation/milestones_controller.rb b/app/controllers/admin/legislation/milestones_controller.rb index aba0c673f..09d55f6ca 100644 --- a/app/controllers/admin/legislation/milestones_controller.rb +++ b/app/controllers/admin/legislation/milestones_controller.rb @@ -1,4 +1,4 @@ -class Admin::Legislation::MilestonesController < Tracking::MilestonesController +class Admin::Legislation::MilestonesController < Admin::MilestonesController include FeatureFlags feature_flag :legislation @@ -11,4 +11,8 @@ class Admin::Legislation::MilestonesController < Tracking::MilestonesController def milestoneable ::Legislation::Process.find(params[:process_id]) end + + def milestoneable_path + admin_legislation_process_milestones_path(milestoneable) + end end diff --git a/app/controllers/tracking/legislation/progress_bars_controller.rb b/app/controllers/admin/legislation/progress_bars_controller.rb similarity index 69% rename from app/controllers/tracking/legislation/progress_bars_controller.rb rename to app/controllers/admin/legislation/progress_bars_controller.rb index 38ed60788..ba00d5e91 100644 --- a/app/controllers/tracking/legislation/progress_bars_controller.rb +++ b/app/controllers/admin/legislation/progress_bars_controller.rb @@ -1,4 +1,4 @@ -class Tracking::Legislation::ProgressBarsController < Tracking::ProgressBarsController +class Admin::Legislation::ProgressBarsController < Admin::ProgressBarsController include FeatureFlags feature_flag :legislation diff --git a/app/controllers/tracking/milestones_controller.rb b/app/controllers/admin/milestones_controller.rb similarity index 75% rename from app/controllers/tracking/milestones_controller.rb rename to app/controllers/admin/milestones_controller.rb index 9d916c830..1ee5ecc10 100644 --- a/app/controllers/tracking/milestones_controller.rb +++ b/app/controllers/admin/milestones_controller.rb @@ -1,4 +1,4 @@ -class Tracking::MilestonesController < Tracking::BaseController +class Admin::MilestonesController < Admin::BaseController include Translatable include ImageAttributes @@ -17,7 +17,7 @@ class Tracking::MilestonesController < Tracking::BaseController def create @milestone = @milestoneable.milestones.new(milestone_params) if @milestone.save - redirect_to milestoneable_path, notice: t("tracking.milestones.create.notice") + redirect_to milestoneable_path, notice: t("admin.milestones.create.notice") else render :new end @@ -28,7 +28,7 @@ class Tracking::MilestonesController < Tracking::BaseController def update if @milestone.update(milestone_params) - redirect_to milestoneable_path, notice: t("tracking.milestones.update.notice") + redirect_to milestoneable_path, notice: t("admin.milestones.update.notice") else render :edit end @@ -36,7 +36,7 @@ class Tracking::MilestonesController < Tracking::BaseController def destroy @milestone.destroy! - redirect_to milestoneable_path, notice: t("tracking.milestones.delete.notice") + redirect_to milestoneable_path, notice: t("admin.milestones.delete.notice") end private @@ -67,7 +67,6 @@ class Tracking::MilestonesController < Tracking::BaseController end def milestoneable_path - polymorphic_path([current_user.administrator? ? :admin : :tracking, - *resource_hierarchy_for(@milestone.milestoneable)]) + polymorphic_path([:admin, *resource_hierarchy_for(@milestone.milestoneable)]) end end diff --git a/app/controllers/tracking/progress_bars_controller.rb b/app/controllers/admin/progress_bars_controller.rb similarity index 72% rename from app/controllers/tracking/progress_bars_controller.rb rename to app/controllers/admin/progress_bars_controller.rb index 0eb3340cd..1d05c0027 100644 --- a/app/controllers/tracking/progress_bars_controller.rb +++ b/app/controllers/admin/progress_bars_controller.rb @@ -1,4 +1,4 @@ -class Tracking::ProgressBarsController < Tracking::BaseController +class Admin::ProgressBarsController < Admin::BaseController include Translatable before_action :load_progressable @@ -15,7 +15,7 @@ class Tracking::ProgressBarsController < Tracking::BaseController def create @progress_bar = @progressable.progress_bars.new(progress_bar_params) if @progress_bar.save - redirect_to progress_bars_index, notice: t("tracking.progress_bars.create.notice") + redirect_to progress_bars_index, notice: t("admin.progress_bars.create.notice") else render :new end @@ -26,7 +26,7 @@ class Tracking::ProgressBarsController < Tracking::BaseController def update if @progress_bar.update(progress_bar_params) - redirect_to progress_bars_index, notice: t("tracking.progress_bars.update.notice") + redirect_to progress_bars_index, notice: t("admin.progress_bars.update.notice") else render :edit end @@ -34,7 +34,7 @@ class Tracking::ProgressBarsController < Tracking::BaseController def destroy @progress_bar.destroy! - redirect_to progress_bars_index, notice: t("tracking.progress_bars.delete.notice") + redirect_to progress_bars_index, notice: t("admin.progress_bars.delete.notice") end private @@ -64,6 +64,6 @@ class Tracking::ProgressBarsController < Tracking::BaseController end def progress_bars_index - polymorphic_path([:tracking, *resource_hierarchy_for(@progressable), ProgressBar.new]) + polymorphic_path([:admin, *resource_hierarchy_for(@progressable), ProgressBar.new]) end end diff --git a/app/controllers/tracking/proposal_milestones_controller.rb b/app/controllers/admin/proposal_milestones_controller.rb similarity index 52% rename from app/controllers/tracking/proposal_milestones_controller.rb rename to app/controllers/admin/proposal_milestones_controller.rb index c0507d4bf..5699183a9 100644 --- a/app/controllers/tracking/proposal_milestones_controller.rb +++ b/app/controllers/admin/proposal_milestones_controller.rb @@ -1,4 +1,4 @@ -class Tracking::ProposalMilestonesController < Tracking::MilestonesController +class Admin::ProposalMilestonesController < Admin::MilestonesController private def milestoneable diff --git a/app/controllers/tracking/proposal_progress_bars_controller.rb b/app/controllers/admin/proposal_progress_bars_controller.rb similarity index 51% rename from app/controllers/tracking/proposal_progress_bars_controller.rb rename to app/controllers/admin/proposal_progress_bars_controller.rb index f402b5b85..2da652e05 100644 --- a/app/controllers/tracking/proposal_progress_bars_controller.rb +++ b/app/controllers/admin/proposal_progress_bars_controller.rb @@ -1,4 +1,4 @@ -class Tracking::ProposalProgressBarsController < Tracking::ProgressBarsController +class Admin::ProposalProgressBarsController < Admin::ProgressBarsController private def progressable diff --git a/app/controllers/admin/trackers_controller.rb b/app/controllers/admin/trackers_controller.rb deleted file mode 100644 index c244d052f..000000000 --- a/app/controllers/admin/trackers_controller.rb +++ /dev/null @@ -1,57 +0,0 @@ -class Admin::TrackersController < Admin::BaseController - load_and_authorize_resource - - before_action :set_tracker, only: [:show, :edit, :update, :destroy] - - def show - @tracker = Tracker.find(params[:id]) - end - - def index - @trackers = @trackers.page(params[:page]) - end - - def search - @users = User.search(params[:name_or_email]) - .includes(:tracker) - .page(params[:page]) - .for_render - end - - def create - @tracker = Tracker.new(tracker_params) - @tracker.save! - - redirect_to admin_trackers_path - end - - def edit - @tracker = Tracker.find(params[:id]) - end - - def update - @tracker = Tracker.find(params[:id]) - if @tracker.update(tracker_params) - notice = t("admin.trackers.form.updated") - redirect_to [:admin, @tracker], notice: notice - else - render :edit - end - end - - def destroy - @tracker.destroy! - redirect_to admin_trackers_path - end - - private - - def set_tracker - @tracker = Tracker.find(params[:id]) - end - - def tracker_params - params[:tracker][:description] = nil if params[:tracker][:description].blank? - params.require(:tracker).permit(:user_id, :description, :budget_investment_count) - end -end diff --git a/app/controllers/tracking/base_controller.rb b/app/controllers/tracking/base_controller.rb deleted file mode 100644 index 2e459bc7b..000000000 --- a/app/controllers/tracking/base_controller.rb +++ /dev/null @@ -1,14 +0,0 @@ -class Tracking::BaseController < ApplicationController - layout "admin" - - before_action :authenticate_user! - before_action :verify_tracker - - skip_authorization_check - - private - - def verify_tracker - raise CanCan::AccessDenied unless current_user&.tracker? || current_user&.administrator? - end -end diff --git a/app/controllers/tracking/budget_investment_progress_bars_controller.rb b/app/controllers/tracking/budget_investment_progress_bars_controller.rb deleted file mode 100644 index 6e536d8ed..000000000 --- a/app/controllers/tracking/budget_investment_progress_bars_controller.rb +++ /dev/null @@ -1,17 +0,0 @@ -class Tracking::BudgetInvestmentProgressBarsController < Tracking::ProgressBarsController - before_action :restrict_access_to_assigned_items - - private - - def progressable - Budget::Investment.find(params[:budget_investment_id]) - end - - def restrict_access_to_assigned_items - return if current_user.administrator? || - Budget::TrackerAssignment.exists?(investment_id: params[:budget_investment_id], - tracker_id: current_user.tracker.id) - - raise ActionController::RoutingError.new("Not Found") - end -end diff --git a/app/controllers/tracking/budget_investments_controller.rb b/app/controllers/tracking/budget_investments_controller.rb deleted file mode 100644 index e5fe27f28..000000000 --- a/app/controllers/tracking/budget_investments_controller.rb +++ /dev/null @@ -1,81 +0,0 @@ -class Tracking::BudgetInvestmentsController < Tracking::BaseController - include FeatureFlags - include CommentableActions - - feature_flag :budgets - - before_action :restrict_access_to_assigned_items, only: [:show, :edit] - before_action :load_budget - before_action :load_investment, only: [:show, :edit] - - has_orders %w[oldest], only: [:show, :edit] - - load_and_authorize_resource :investment, class: "Budget::Investment" - - def index - @heading_filters = heading_filters - @investments = if current_user.tracker? && @budget.present? - current_user.tracker.investments_by_heading(heading_params, @budget) - .page(params[:page]) - else - Budget::Investment.none.page(params[:page]) - end - end - - def show - end - - def edit - end - - private - - def resource_model - Budget::Investment - end - - def resource_name - resource_model.parameterize(separator: "_") - end - - def load_budget - @budget = Budget.find(params[:budget_id]) - end - - def load_investment - @investment = @budget.investments.find params[:id] - end - - def heading_filters - investments = @budget.investments.by_tracker(current_user.tracker&.id).distinct - investment_headings = Budget::Heading.where(id: investments.pluck(:heading_id)) - .order(name: :asc) - all_headings_filter = [ - { - name: t("valuation.budget_investments.index.headings_filter_all"), - id: nil, - count: investments.size - } - ] - - investment_headings.reduce(all_headings_filter) do |filters, heading| - filters << { - name: heading.name, - id: heading.id, - count: investments.select { |i| i.heading_id == heading.id }.size - } - end.uniq - end - - def restrict_access_to_assigned_items - return if current_user.administrator? || - Budget::TrackerAssignment.exists?(investment_id: params[:id], - tracker_id: current_user.tracker.id) - - raise ActionController::RoutingError.new("Not Found") - end - - def heading_params - params.permit(:heading_id) - end -end diff --git a/app/controllers/tracking/budgets_controller.rb b/app/controllers/tracking/budgets_controller.rb deleted file mode 100644 index 0e33ecf03..000000000 --- a/app/controllers/tracking/budgets_controller.rb +++ /dev/null @@ -1,14 +0,0 @@ -class Tracking::BudgetsController < Tracking::BaseController - include FeatureFlags - feature_flag :budgets - - load_and_authorize_resource - - def index - @budget = current_budget - if @budget.present? - @investments = @budget.investments - .by_tracker(current_user.tracker) - end - end -end diff --git a/app/controllers/tracking/legislation/milestones_controller.rb b/app/controllers/tracking/legislation/milestones_controller.rb deleted file mode 100644 index 458bdb650..000000000 --- a/app/controllers/tracking/legislation/milestones_controller.rb +++ /dev/null @@ -1,18 +0,0 @@ -class Tracking::Legislation::MilestonesController < Tracking::MilestonesController - include FeatureFlags - feature_flag :legislation - - def index - @process = milestoneable - end - - private - - def milestoneable - ::Legislation::Process.find(params[:process_id]) - end - - def milestoneable_path - admin_legislation_process_milestones_path(milestoneable) - end -end diff --git a/app/helpers/trackers_helper.rb b/app/helpers/trackers_helper.rb deleted file mode 100644 index d0e1368ed..000000000 --- a/app/helpers/trackers_helper.rb +++ /dev/null @@ -1,19 +0,0 @@ -module TrackersHelper - def tracker_label(tracker) - truncate([tracker.name, tracker.email, tracker.description].compact.join(" - "), length: 100) - end - - def tracker_back_path(progressable) - if progressable.class.to_s == "Legislation::Process" - admin_legislation_process_milestones_path(progressable) - else - polymorphic_path([tracker_namespace, *resource_hierarchy_for(progressable)]) - end - end - - private - - def tracker_namespace - current_user.administrator? ? :admin : :tracking - end -end diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index aeafcc6ea..fb24e9b27 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -10,7 +10,7 @@ module TranslatableFormHelper end def backend_translations_enabled? - (controller.class.parents & [Admin, Management, Valuation, Tracking]).any? + (controller.class.parents & [Admin, Management, Valuation]).any? end def highlight_translation_html_class diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index f4ba9d4db..8d2aa8ef6 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -55,13 +55,11 @@ module UsersHelper current_user&.poll_officer? end - def current_tracker? - current_user&.tracker? - end - def show_admin_menu?(user = nil) - current_administrator? || current_moderator? || current_valuator? || current_manager? || - current_tracker? || (user&.administrator?) || current_poll_officer? + unless namespace == "officing" + current_administrator? || current_moderator? || current_valuator? || current_manager? || + (user&.administrator?) || current_poll_officer? + end end def interests_title_text(user) diff --git a/app/models/abilities/administrator.rb b/app/models/abilities/administrator.rb index 07238f548..e23962230 100644 --- a/app/models/abilities/administrator.rb +++ b/app/models/abilities/administrator.rb @@ -99,7 +99,6 @@ module Abilities can [:create, :destroy], DirectUpload can [:deliver], Newsletter, hidden_at: nil - can [:manage], ::Tracker can [:manage], Dashboard::AdministratorTask can [:edit, :update], DownloadSetting diff --git a/app/models/abilities/tracker.rb b/app/models/abilities/tracker.rb deleted file mode 100644 index a755d26fb..000000000 --- a/app/models/abilities/tracker.rb +++ /dev/null @@ -1,12 +0,0 @@ -module Abilities - class Tracker - include CanCan::Ability - - def initialize(user) - can :index, Budget - can [:index, :show, :edit], Budget::Investment - can :manage, Milestone - can :manage, ProgressBar - end - end -end diff --git a/app/models/ability.rb b/app/models/ability.rb index 128b000d5..38e8a565f 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -8,7 +8,6 @@ class Ability if user # logged-in users merge Abilities::Valuator.new(user) if user.valuator? - merge Abilities::Tracker.new(user) if user.tracker? if user.administrator? merge Abilities::Administrator.new(user) diff --git a/app/models/budget.rb b/app/models/budget.rb index 41a6c0869..57be318ca 100644 --- a/app/models/budget.rb +++ b/app/models/budget.rb @@ -32,8 +32,6 @@ class Budget < ApplicationRecord has_many :headings, through: :groups has_many :lines, through: :ballots, class_name: "Budget::Ballot::Line" has_many :phases, class_name: "Budget::Phase" - has_many :budget_trackers - has_many :trackers, through: :budget_trackers has_many :budget_administrators has_many :administrators, through: :budget_administrators has_many :budget_valuators diff --git a/app/models/budget/investment.rb b/app/models/budget/investment.rb index c0beb4b68..9a6fcedde 100644 --- a/app/models/budget/investment.rb +++ b/app/models/budget/investment.rb @@ -51,9 +51,6 @@ class Budget inverse_of: :commentable, class_name: "Comment" - has_many :tracker_assignments, dependent: :destroy - has_many :trackers, through: :tracker_assignments - delegate :name, :email, to: :author, prefix: true validates_translation :title, presence: true, length: { in: 4..Budget::Investment.title_max_length } @@ -108,10 +105,6 @@ class Budget where("budget_valuator_assignments.valuator_id = ?", valuator_id).joins(:valuator_assignments) end - def self.by_tracker(tracker_id) - where("budget_tracker_assignments.tracker_id = ?", tracker_id).joins(:tracker_assignments) - end - def self.by_valuator_group(valuator_group_id) joins(:valuator_group_assignments). where("budget_valuator_group_assignments.valuator_group_id = ?", valuator_group_id) diff --git a/app/models/budget/tracker_assignment.rb b/app/models/budget/tracker_assignment.rb deleted file mode 100644 index 38f1edbba..000000000 --- a/app/models/budget/tracker_assignment.rb +++ /dev/null @@ -1,6 +0,0 @@ -class Budget - class TrackerAssignment < ApplicationRecord - belongs_to :tracker, counter_cache: :budget_investment_count - belongs_to :investment, counter_cache: true - end -end diff --git a/app/models/budget_tracker.rb b/app/models/budget_tracker.rb deleted file mode 100644 index b7598227e..000000000 --- a/app/models/budget_tracker.rb +++ /dev/null @@ -1,4 +0,0 @@ -class BudgetTracker < ApplicationRecord - belongs_to :budget - belongs_to :tracker -end diff --git a/app/models/tracker.rb b/app/models/tracker.rb deleted file mode 100644 index 81f3d8021..000000000 --- a/app/models/tracker.rb +++ /dev/null @@ -1,30 +0,0 @@ -class Tracker < ApplicationRecord - belongs_to :user, touch: true - - delegate :name, :email, :name_and_email, to: :user - - has_many :tracker_assignments, dependent: :destroy, class_name: "Budget::TrackerAssignment" - has_many :investments, through: :tracker_assignments, class_name: "Budget::Investment" - - validates :user_id, presence: true, uniqueness: true - - def description_or_email - description.presence || email - end - - def description_or_name - description.presence || name - end - - def assigned_investment_ids - investment_ids - end - - def investments_by_heading(params, budget) - results = investments.by_budget(budget) - if params[:heading_id].present? - results = results.by_heading(params[:heading_id]) - end - results - end -end diff --git a/app/models/user.rb b/app/models/user.rb index a2afcf858..d8c53200d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -14,7 +14,6 @@ class User < ApplicationRecord has_one :administrator has_one :moderator has_one :valuator - has_one :tracker has_one :manager has_one :poll_officer, class_name: "Poll::Officer" has_one :organization @@ -198,10 +197,6 @@ class User < ApplicationRecord valuator.present? end - def tracker? - tracker.present? - end - def manager? manager.present? end diff --git a/app/views/admin/_menu.html.erb b/app/views/admin/_menu.html.erb index 91245c0cf..0348cc4d9 100644 --- a/app/views/admin/_menu.html.erb +++ b/app/views/admin/_menu.html.erb @@ -212,10 +212,6 @@ <%= link_to t("admin.menu.valuators"), admin_valuators_path %> -
  • > - <%= link_to t("admin.menu.trackers"), admin_trackers_path %> -
  • -
  • > <%= link_to t("admin.menu.managers"), admin_managers_path %>
  • diff --git a/app/views/admin/budget_investments/edit.html.erb b/app/views/admin/budget_investments/edit.html.erb index e7d36337f..7aaddf857 100644 --- a/app/views/admin/budget_investments/edit.html.erb +++ b/app/views/admin/budget_investments/edit.html.erb @@ -89,16 +89,6 @@ <% end %> - -
    -
    - <%= f.label :tracker_ids, t("admin.budget_investments.edit.assigned_trackers") %> - -
    diff --git a/app/views/admin/budget_investments/show.html.erb b/app/views/admin/budget_investments/show.html.erb index b2584c35a..fe73c2a5f 100644 --- a/app/views/admin/budget_investments/show.html.erb +++ b/app/views/admin/budget_investments/show.html.erb @@ -50,15 +50,6 @@ <% end %>

    -

    - <%= t("admin.budget_investments.show.assigned_trackers") %>: - <% if @investment.trackers.any? %> - <%= @investment.trackers.collect(&:name_and_email).join(", ") %> - <% else %> - <%= t("admin.budget_investments.show.undefined") %> - <% end %> -

    -

    <%= link_to t("admin.budget_investments.show.edit_classification"), edit_admin_budget_budget_investment_path(@budget, @investment, @@ -77,4 +68,4 @@ <%= render "admin/change_logs/change_log", logs: @logs %> -<%= render "tracking/milestones/milestones", milestoneable: @investment %> +<%= render "admin/milestones/milestones", milestoneable: @investment %> diff --git a/app/views/admin/budgets/_form.html.erb b/app/views/admin/budgets/_form.html.erb index fbd7686b8..f9fc67a62 100644 --- a/app/views/admin/budgets/_form.html.erb +++ b/app/views/admin/budgets/_form.html.erb @@ -22,7 +22,7 @@

    - <% %w[administrators valuators trackers].each do |staff| %> + <% %w[administrators valuators].each do |staff| %>
    <%= link_to t("admin.budgets.edit.#{staff}", count: @budget.send(staff).count), "#", @@ -35,7 +35,6 @@
    <%= render "/admin/budgets/association", assignable_type: "administrators", assignables: @admins, form: f %> <%= render "/admin/budgets/association", assignable_type: "valuators", assignables: @valuators, form: f %> - <%= render "/admin/budgets/association", assignable_type: "trackers", assignables: @trackers, form: f %>
    <% if @budget.phases.present? %> diff --git a/app/views/admin/legislation/milestones/index.html.erb b/app/views/admin/legislation/milestones/index.html.erb index 91136e164..456b6154a 100644 --- a/app/views/admin/legislation/milestones/index.html.erb +++ b/app/views/admin/legislation/milestones/index.html.erb @@ -9,4 +9,4 @@ <%= render "admin/legislation/processes/subnav", process: @process, active: "milestones" %> <%= render "summary_form", process: @process %> -<%= render "tracking/milestones/milestones", milestoneable: @process %> +<%= render "admin/milestones/milestones", milestoneable: @process %> diff --git a/app/views/tracking/milestones/_form.html.erb b/app/views/admin/milestones/_form.html.erb similarity index 83% rename from app/views/tracking/milestones/_form.html.erb rename to app/views/admin/milestones/_form.html.erb index a98f99d3b..b7cc30270 100644 --- a/app/views/tracking/milestones/_form.html.erb +++ b/app/views/admin/milestones/_form.html.erb @@ -1,14 +1,14 @@ <%= render "shared/globalize_locales", resource: @milestone %> -<%= translatable_form_for [:tracking, *resource_hierarchy_for(@milestone)] do |f| %> +<%= translatable_form_for [:admin, *resource_hierarchy_for(@milestone)] do |f| %>
    <%= f.select :status_id, @statuses.collect { |s| [s.name, s.id] }, - { include_blank: @statuses.any? ? "" : t("tracking.milestones.form.no_statuses_defined") }, + { include_blank: @statuses.any? ? "" : t("admin.milestones.form.no_statuses_defined") }, { disabled: @statuses.blank? } %> - <%= link_to t("tracking.milestones.form.admin_statuses"), + <%= link_to t("admin.milestones.form.admin_statuses"), admin_milestone_statuses_path %>
    diff --git a/app/views/tracking/milestones/_milestones.html.erb b/app/views/admin/milestones/_milestones.html.erb similarity index 59% rename from app/views/tracking/milestones/_milestones.html.erb rename to app/views/admin/milestones/_milestones.html.erb index 4548011de..bcbf61885 100644 --- a/app/views/tracking/milestones/_milestones.html.erb +++ b/app/views/admin/milestones/_milestones.html.erb @@ -1,7 +1,7 @@ -

    <%= t("tracking.milestones.index.milestone") %>

    +

    <%= t("admin.milestones.index.milestone") %>

    -<%= link_to t("tracking.progress_bars.manage"), - polymorphic_path([:tracking, *resource_hierarchy_for(milestoneable.progress_bars.new)]), +<%= link_to t("admin.progress_bars.manage"), + polymorphic_path([:admin, *resource_hierarchy_for(milestoneable.progress_bars.new)]), class: "button hollow float-right" %> <% if milestoneable.milestone_tag_list.any? %> @@ -16,14 +16,14 @@ - - - - - - - - + + + + + + + + @@ -32,7 +32,7 @@ @@ -43,7 +43,7 @@ <%= milestone.status.present? ? milestone.status.name : "" %> @@ -58,8 +58,8 @@ <% end %> @@ -68,12 +68,12 @@
    <%= t("tracking.milestones.index.table_id") %><%= t("tracking.milestones.index.table_title") %><%= t("tracking.milestones.index.table_description") %><%= t("tracking.milestones.index.table_publication_date") %><%= t("tracking.milestones.index.table_status") %><%= t("tracking.milestones.index.image") %><%= t("tracking.milestones.index.documents") %><%= t("tracking.milestones.index.table_actions") %><%= t("admin.milestones.index.table_id") %><%= t("admin.milestones.index.table_title") %><%= t("admin.milestones.index.table_description") %><%= t("admin.milestones.index.table_publication_date") %><%= t("admin.milestones.index.table_status") %><%= t("admin.milestones.index.image") %><%= t("admin.milestones.index.documents") %><%= t("admin.milestones.index.table_actions") %>
    <%= milestone.id %> <%= link_to milestone.title, - polymorphic_path([:tracking, *resource_hierarchy_for(milestone)], + polymorphic_path([:admin, *resource_hierarchy_for(milestone)], action: :edit) %> <%= milestone.description %> - <%= link_to t("tracking.milestones.index.show_image"), + <%= link_to t("admin.milestones.index.show_image"), milestone.image_url(:large), target: :_blank if milestone.image.present? %> - <%= link_to t("tracking.milestones.index.delete"), - polymorphic_path([:tracking, *resource_hierarchy_for(milestone)]), + <%= link_to t("admin.milestones.index.delete"), + polymorphic_path([:admin, *resource_hierarchy_for(milestone)]), method: :delete, class: "button hollow alert expanded" %>
    <% else %> -

    <%= t("tracking.milestones.index.no_milestones") %>

    +

    <%= t("admin.milestones.index.no_milestones") %>

    <% end %>

    - <%= link_to t("tracking.milestones.index.new_milestone"), - polymorphic_path([:tracking, *resource_hierarchy_for(milestoneable.milestones.new)], + <%= link_to t("admin.milestones.index.new_milestone"), + polymorphic_path([:admin, *resource_hierarchy_for(milestoneable.milestones.new)], action: :new), class: "button hollow" %>

    diff --git a/app/views/tracking/milestones/edit.html.erb b/app/views/admin/milestones/edit.html.erb similarity index 65% rename from app/views/tracking/milestones/edit.html.erb rename to app/views/admin/milestones/edit.html.erb index 4ce62f5a8..297ebccb4 100644 --- a/app/views/tracking/milestones/edit.html.erb +++ b/app/views/admin/milestones/edit.html.erb @@ -1,6 +1,6 @@ <%= back_link_to milestoneable_path %> -

    <%= t("tracking.milestones.edit.title") %>

    +

    <%= t("admin.milestones.edit.title") %>

    <%= render "form" %> diff --git a/app/views/tracking/milestones/new.html.erb b/app/views/admin/milestones/new.html.erb similarity index 72% rename from app/views/tracking/milestones/new.html.erb rename to app/views/admin/milestones/new.html.erb index de664eadb..aa55123c9 100644 --- a/app/views/tracking/milestones/new.html.erb +++ b/app/views/admin/milestones/new.html.erb @@ -3,7 +3,7 @@
    <%= back_link_to milestoneable_path %> -

    <%= t("tracking.milestones.new.creating") %>

    +

    <%= t("admin.milestones.new.creating") %>

    <%= render "form" %>
    diff --git a/app/views/tracking/progress_bars/_form.html.erb b/app/views/admin/progress_bars/_form.html.erb similarity index 93% rename from app/views/tracking/progress_bars/_form.html.erb rename to app/views/admin/progress_bars/_form.html.erb index 7606b17e8..3598aea12 100644 --- a/app/views/tracking/progress_bars/_form.html.erb +++ b/app/views/admin/progress_bars/_form.html.erb @@ -1,6 +1,6 @@ <%= render "shared/globalize_locales", resource: @progress_bar %> -<%= translatable_form_for [:tracking, *resource_hierarchy_for(@progress_bar)] do |f| %> +<%= translatable_form_for [:admin, *resource_hierarchy_for(@progress_bar)] do |f| %>
    diff --git a/app/views/tracking/progress_bars/_progress_bars.html.erb b/app/views/admin/progress_bars/_progress_bars.html.erb similarity index 60% rename from app/views/tracking/progress_bars/_progress_bars.html.erb rename to app/views/admin/progress_bars/_progress_bars.html.erb index 0a47e306d..3715c2f35 100644 --- a/app/views/tracking/progress_bars/_progress_bars.html.erb +++ b/app/views/admin/progress_bars/_progress_bars.html.erb @@ -1,8 +1,8 @@ -

    <%= t("tracking.progress_bars.index.title") %>

    +

    <%= t("admin.progress_bars.index.title") %>

    -<%= link_to t("tracking.progress_bars.index.new_progress_bar"), +<%= link_to t("admin.progress_bars.index.new_progress_bar"), polymorphic_path( - [:tracking, *resource_hierarchy_for(ProgressBar.new(progressable: progressable))], + [:admin, *resource_hierarchy_for(ProgressBar.new(progressable: progressable))], action: :new ), class: "button float-right" %> @@ -11,10 +11,10 @@ - - - - + + + + @@ -29,7 +29,7 @@ <% if progress_bar.title.present? %> <%= progress_bar.title %> <% else %> - <%= t("tracking.progress_bars.index.primary") %> + <%= t("admin.progress_bars.index.primary") %> <% end %> @@ -52,6 +52,6 @@
    <%= t("tracking.progress_bars.index.table_id") %><%= t("tracking.progress_bars.index.table_kind") %><%= t("tracking.progress_bars.index.table_title") %><%= t("tracking.progress_bars.index.table_percentage") %><%= t("admin.progress_bars.index.table_id") %><%= t("admin.progress_bars.index.table_kind") %><%= t("admin.progress_bars.index.table_title") %><%= t("admin.progress_bars.index.table_percentage") %> <%= t("admin.actions.actions") %>
    @@ -37,12 +37,12 @@ <%= link_to t("admin.actions.edit"), - polymorphic_path([:tracking, *resource_hierarchy_for(progress_bar)], + polymorphic_path([:admin, *resource_hierarchy_for(progress_bar)], action: :edit), class: "button hollow" %> <%= link_to t("admin.actions.delete"), - polymorphic_path([:tracking, *resource_hierarchy_for(progress_bar)]), + polymorphic_path([:admin, *resource_hierarchy_for(progress_bar)]), method: :delete, class: "button hollow alert" %>
    <% else %>
    - <%= t("tracking.progress_bars.index.no_progress_bars") %> + <%= t("admin.progress_bars.index.no_progress_bars") %>
    <% end %> diff --git a/app/views/admin/progress_bars/edit.html.erb b/app/views/admin/progress_bars/edit.html.erb new file mode 100644 index 000000000..21dd27d9a --- /dev/null +++ b/app/views/admin/progress_bars/edit.html.erb @@ -0,0 +1,15 @@ +<% if @progress_bar.primary? %> + <% bar_title = t("admin.progress_bars.edit.title.primary") %> +<% else %> + <% bar_title = t("admin.progress_bars.edit.title.secondary", title: @progress_bar.title) %> +<% end %> + +<% provide :title do %> + <%= "#{t("admin.header.title")} - #{bar_title}" %> +<% end %> + +<%= back_link_to progress_bars_index %> + +

    <%= bar_title %>

    + +<%= render "form" %> diff --git a/app/views/admin/progress_bars/index.html.erb b/app/views/admin/progress_bars/index.html.erb new file mode 100644 index 000000000..bcac8d7a4 --- /dev/null +++ b/app/views/admin/progress_bars/index.html.erb @@ -0,0 +1,9 @@ +<% provide :title do %> + <%= "#{t("admin.header.title")} - #{t("admin.progress_bars.index.title")}" %> +<% end %> + +<%= back_link_to polymorphic_path([:admin, *resource_hierarchy_for(@progressable)]) %> + +
    + +<%= render "admin/progress_bars/progress_bars", progressable: @progressable %> diff --git a/app/views/admin/progress_bars/new.html.erb b/app/views/admin/progress_bars/new.html.erb new file mode 100644 index 000000000..8c379ac3a --- /dev/null +++ b/app/views/admin/progress_bars/new.html.erb @@ -0,0 +1,9 @@ +<% provide :title do %> + <%= "#{t("admin.header.title")} - #{t("admin.progress_bars.new.creating")}" %> +<% end %> + +<%= back_link_to progress_bars_index %> + +

    <%= t("admin.progress_bars.new.creating") %>

    + +<%= render "form" %> diff --git a/app/views/admin/proposals/show.html.erb b/app/views/admin/proposals/show.html.erb index ce81e2136..afb2379e3 100644 --- a/app/views/admin/proposals/show.html.erb +++ b/app/views/admin/proposals/show.html.erb @@ -32,4 +32,4 @@
    -<%= render "tracking/milestones/milestones", milestoneable: @proposal %> +<%= render "admin/milestones/milestones", milestoneable: @proposal %> diff --git a/app/views/admin/trackers/edit.html.erb b/app/views/admin/trackers/edit.html.erb deleted file mode 100644 index ec098a9a9..000000000 --- a/app/views/admin/trackers/edit.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -<%= back_link_to admin_trackers_path %> - -

    <%= t("admin.trackers.form.edit_title") %>

    - -
    - <%= @tracker.name %>
    - <%= @tracker.email %> -
    - -
    - <%= form_for [:admin, @tracker] do |f| %> - <%= f.text_field :description %> - <%= f.submit t("admin.trackers.form.update"), class: "button success" %> - <% end %> -
    diff --git a/app/views/admin/trackers/index.html.erb b/app/views/admin/trackers/index.html.erb deleted file mode 100644 index baf7a5311..000000000 --- a/app/views/admin/trackers/index.html.erb +++ /dev/null @@ -1,48 +0,0 @@ -

    <%= t("admin.trackers.index.title") %>

    - -<%= render "admin/shared/user_search", url: search_admin_trackers_path %> - -
    - <% if @trackers.any? %> -

    <%= page_entries_info @trackers %>

    - - - - - - - - - - <% @trackers.each do |tracker| %> - - - - - - - <% end %> - -
    <%= t("admin.trackers.index.name") %><%= t("admin.trackers.index.email") %><%= t("admin.valuators.index.description") %><%= t("admin.actions.actions") %>
    <%= link_to tracker.name, admin_tracker_path(tracker) %><%= tracker.email %> - <% if tracker.description.present? %> - <%= tracker.description %> - <% else %> - <%= t("admin.trackers.index.no_description") %> - <% end %> - - <%= link_to t("admin.actions.edit"), - edit_admin_tracker_path(tracker), - class: "button hollow" %> - <%= link_to t("admin.valuators.valuator.delete"), - admin_tracker_path(tracker), - method: :delete, - class: "button hollow alert" %> -
    - - <%= paginate @trackers %> - <% else %> -
    - <%= t("admin.trackers.index.no_trackers") %> -
    - <% end %> -
    diff --git a/app/views/admin/trackers/search.html.erb b/app/views/admin/trackers/search.html.erb deleted file mode 100644 index 3dc703d50..000000000 --- a/app/views/admin/trackers/search.html.erb +++ /dev/null @@ -1,58 +0,0 @@ -

    <%= t("admin.trackers.search.title") %>

    - -<%= render "admin/shared/user_search", url: search_admin_trackers_path %> - -
    - <% if @users.any? %> -

    <%= page_entries_info @users %>

    - - - - - - - - - - <% @users.each do |user| %> - - - - - - <% end %> - -
    <%= t("admin.trackers.index.name") %><%= t("admin.trackers.index.email") %><%= t("admin.trackers.index.description") %><%= t("admin.shared.actions") %>
    <%= user.name %><%= user.email %> - <% if user.tracker %> - <% if user.tracker.description.present? %> - <%= user.tracker.description %> - <% else %> - <%= t("admin.trackers.index.no_description") %> - <% end %> - <% else %> - <%= t("admin.trackers.index.no_description") %> - <% end %> - - <% if user.tracker? %> - <%= link_to t("admin.actions.edit"), - edit_admin_tracker_path(user.tracker), - class: "button hollow" %> - - <%= link_to t("admin.valuators.valuator.delete"), - admin_tracker_path(user.tracker), - method: :delete, - class: "button hollow alert" %> - <% else %> - <%= form_for Tracker.new(user: user), url: admin_trackers_path do |f| %> - <%= f.hidden_field :user_id %> - <%= f.submit t("admin.trackers.tracker.add"), - class: "button success expanded" %> - <% end %> - <% end %> -
    - <% else %> -
    - <%= t("admin.shared.no_search_results") %> -
    - <% end %> -
    diff --git a/app/views/admin/trackers/show.html.erb b/app/views/admin/trackers/show.html.erb deleted file mode 100644 index 9d3deaeef..000000000 --- a/app/views/admin/trackers/show.html.erb +++ /dev/null @@ -1,22 +0,0 @@ -<%= back_link_to admin_trackers_path %> - -<%= link_to t("admin.actions.edit"), edit_admin_tracker_path(@tracker), class: "button hollow float-right" %> - -
    - -

    <%= @tracker.name %>

    - -
    -

    - <%= t("admin.trackers.show.email") %>
    - <%= @tracker.email %> -

    -

    - <%= t("admin.trackers.show.description") %>
    - <% if @tracker.description.present? %> - <%= @tracker.description %> - <% else %> - <%= t("admin.trackers.show.no_description") %> - <% end %> -

    -
    diff --git a/app/views/shared/_admin_login_items.html.erb b/app/views/shared/_admin_login_items.html.erb index 11bc01444..2d5aba1b2 100644 --- a/app/views/shared/_admin_login_items.html.erb +++ b/app/views/shared/_admin_login_items.html.erb @@ -21,13 +21,6 @@ <% end %> - <% if (feature?(:budgets)) && - (current_user.administrator? || current_user.tracker?) %> -
  • - <%= link_to t("layouts.header.tracking"), tracking_root_path %> -
  • - <% end %> - <% if current_user.administrator? || current_user.manager? %>
  • <%= link_to t("layouts.header.management"), management_sign_in_path %> diff --git a/app/views/tracking/_menu.html.erb b/app/views/tracking/_menu.html.erb deleted file mode 100644 index ed934071e..000000000 --- a/app/views/tracking/_menu.html.erb +++ /dev/null @@ -1,17 +0,0 @@ - diff --git a/app/views/tracking/budget_investments/edit.html.erb b/app/views/tracking/budget_investments/edit.html.erb deleted file mode 100644 index 09a4d30fa..000000000 --- a/app/views/tracking/budget_investments/edit.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -<%= link_to tracking_budget_budget_investment_path(@budget, @investment), class: "back" do %> - - <%= "#{t("tracking.budget_investments.show.title")} #{@investment.id}" %> -<% end %> - -
    - -

    <%= @investment.title %>

    - -<%= auto_link_already_sanitized_html wysiwyg(@investment.description) %> - -<%= render "tracking/milestones/milestones", milestoneable: @investment %> diff --git a/app/views/tracking/budget_investments/index.html.erb b/app/views/tracking/budget_investments/index.html.erb deleted file mode 100644 index 8a777225e..000000000 --- a/app/views/tracking/budget_investments/index.html.erb +++ /dev/null @@ -1,58 +0,0 @@ -

    - <%= @budget.name %> - <%= t("tracking.budget_investments.index.title") %> - <%= t("tracking.budget_investments.index.assigned_to", tracker: current_user.name) %> -

    - -
    - <% @heading_filters.each_slice(8) do |slice| %> -
    - <% slice.each do |filter| %> - <%= link_to tracking_budget_budget_investments_path(budget_id: @budget.id, heading_id: filter[:id]), - class: "#{"is-active" if params[:heading_id].to_s == filter[:id].to_s}" do %> - <%= filter[:name] %> (<%= filter[:count] %>) - <% end %> - <% end %> -
    - <% end %> -
    - -<% if @investments.any? %> -

    <%= page_entries_info @investments %>

    - - - - - - - - - - - - <% @investments.each do |investment| %> - - - - - - - <% end %> - -
    <%= t("tracking.budget_investments.index.table_id") %><%= t("tracking.budget_investments.index.table_title") %><%= t("tracking.budget_investments.index.table_heading_name") %><%= t("tracking.budget_investments.index.table_actions") %>
    - <%= investment.id %> - - <%= link_to investment.title, tracking_budget_budget_investment_path(@budget, investment) %> - - <%= investment.heading.name %> - - <%= link_to t("tracking.budget_investments.index.edit"), - edit_tracking_budget_budget_investment_path(@budget, investment), - class: "button hollow expanded" %> -
    - - <%= paginate @investments %> -<% else %> -
    - <%= t("tracking.budget_investments.index.no_investments") %> -
    -<% end %> diff --git a/app/views/tracking/budget_investments/show.html.erb b/app/views/tracking/budget_investments/show.html.erb deleted file mode 100644 index 1bf3b740e..000000000 --- a/app/views/tracking/budget_investments/show.html.erb +++ /dev/null @@ -1,47 +0,0 @@ -<%= back_link_to tracking_budget_budget_investments_path %> - -

    <%= t("tracking.budget_investments.show.title") %> <%= @investment.id %>

    -

    <%= @investment.title %>

    - -<%= auto_link_already_sanitized_html wysiwyg(@investment.description) %> - -<% if @investment.external_url.present? %> -

    <%= sanitize_and_auto_link @investment.external_url %>

    -<% end %> - -

    <%= t("tracking.budget_investments.show.info") %>

    - -

    <%= t("tracking.budget_investments.show.by") %>: - <%= @investment.author.name %> -

    - -

    <%= t("tracking.budget_investments.show.heading") %>: - <%= @investment.heading.name %> -

    - -

    <%= t("tracking.budget_investments.show.sent") %>: - <%= l @investment.created_at, format: :datetime %> -

    - -

    <%= t("tracking.budget_investments.show.responsibles") %>

    - -

    <%= t("tracking.budget_investments.show.assigned_admin") %>: - <% if @investment.administrator.present? %> - <%= @investment.administrator.name_and_email %> - <% else %> - <%= t("tracking.budget_investments.show.undefined") %> - <% end %> -

    - -

    <%= t("trackers.budget_investments.show.assigned_trackers") %>:

    -
    -
      - <% @investment.trackers.each do |tracker| %> -
    • <%= tracker.name_and_email %>
    • - <% end %> - - <% if @investment.trackers.empty? %> -
    • <%= t("tracking.budget_investments.show.undefined") %>
    • - <% end %> -
    -
    diff --git a/app/views/tracking/budgets/index.html.erb b/app/views/tracking/budgets/index.html.erb deleted file mode 100644 index a8968d029..000000000 --- a/app/views/tracking/budgets/index.html.erb +++ /dev/null @@ -1,36 +0,0 @@ -

    <%= t("tracking.budgets.index.title") %>

    - -<% if @budget.present? %> - - - - - - - - - - - - - - - - - -
    <%= t("tracking.budgets.index.table_name") %><%= t("tracking.budgets.index.table_phase") %><%= t("tracking.budgets.index.table_assigned_investments_tracking_open") %><%= t("tracking.budgets.index.table_actions") %>
    - <%= @budget.name %> - - <%= t("budgets.phase.#{@budget.phase}") %> - - <%= @investments.count %> - - <%= link_to t("tracking.budgets.index.tracking"), - tracking_budget_budget_investments_path(budget_id: @budget.id), - class: "button hollow expanded" %> -
    -<% else %> -
    - <%= t("tracking.budgets.index.no_budgets") %> -
    -<% end %> diff --git a/app/views/tracking/progress_bars/edit.html.erb b/app/views/tracking/progress_bars/edit.html.erb deleted file mode 100644 index 1f0e30eeb..000000000 --- a/app/views/tracking/progress_bars/edit.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -<% if @progress_bar.primary? %> - <% bar_title = t("tracking.progress_bars.edit.title.primary") %> -<% else %> - <% bar_title = t("tracking.progress_bars.edit.title.secondary", title: @progress_bar.title) %> -<% end %> - -<% provide :title do %> - <%= "#{t("tracking.header.title")} - #{bar_title}" %> -<% end %> - -<%= back_link_to progress_bars_index %> - -

    <%= bar_title %>

    - -<%= render "form" %> diff --git a/app/views/tracking/progress_bars/index.html.erb b/app/views/tracking/progress_bars/index.html.erb deleted file mode 100644 index 356350812..000000000 --- a/app/views/tracking/progress_bars/index.html.erb +++ /dev/null @@ -1,9 +0,0 @@ -<% provide :title do %> - <%= "#{t("admin.header.title")} - #{t("tracking.progress_bars.index.title")}" %> -<% end %> - -<%= back_link_to tracker_back_path(@progressable) %> - -
    - -<%= render "tracking/progress_bars/progress_bars", progressable: @progressable %> diff --git a/app/views/tracking/progress_bars/new.html.erb b/app/views/tracking/progress_bars/new.html.erb deleted file mode 100644 index f889a8a81..000000000 --- a/app/views/tracking/progress_bars/new.html.erb +++ /dev/null @@ -1,9 +0,0 @@ -<% provide :title do %> - <%= "#{t("admin.header.title")} - #{t("tracking.progress_bars.new.creating")}" %> -<% end %> - -<%= back_link_to progress_bars_index %> - -

    <%= t("tracking.progress_bars.new.creating") %>

    - -<%= render "form" %> diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index 99bfe965a..ad5d47f85 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -47,7 +47,6 @@ data: - config/locales/%{locale}/milestones.yml - config/locales/%{locale}/stats.yml - config/locales/%{locale}/download.yml - - config/locales/%{locale}/tracking.yml # Locale files to write new keys to, based on a list of key pattern => file rules. Matched from top to bottom: # `i18n-tasks normalize -p` will force move the keys according to these rules @@ -141,7 +140,7 @@ ignore_unused: - "admin.hidden_proposals.index.filter*" - "admin.proposal_notifications.index.filter*" - "admin.budgets.index.filter*" - - "admin.budgets.edit.(administrators|trackers|valuators).*" + - "admin.budgets.edit.(administrators|valuators).*" - "admin.budget_investments.index.filter*" - "admin.organizations.index.filter*" - "admin.hidden_users.index.filter*" diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml index 19ebc001e..e315b5142 100644 --- a/config/locales/en/admin.yml +++ b/config/locales/en/admin.yml @@ -102,13 +102,8 @@ en: zero: "Select valuators" one: "1 valuator selected" other: "%{count} valuators selected" - trackers: - zero: "Select trackers" - one: "1 tracker selected" - other: "%{count} trackers selected" empty_administrators: "There are no administrators" empty_valuators: "There are no valuators" - empty_trackers: "There are no trackers" destroy: success_notice: Budget deleted successfully unable_notice: You cannot delete a budget that has associated investments @@ -254,7 +249,6 @@ en: "false": "No" valuator_groups: "Valuator Groups" preview: Investment preview - assigned_trackers: "Assigned trackers" edit: classification: Classification compatibility: Compatibility @@ -265,11 +259,36 @@ en: user_tags: User assigned tags tags_placeholder: "Write the tags you want separated by commas (,)" undefined: Undefined - assigned_trackers: "Trackers" search_unfeasible: Search unfeasible milestones: index: + table_id: "ID" + table_title: "Title" + table_description: "Description" + table_publication_date: "Publication date" + table_status: Status + table_actions: "Actions" + delete: "Delete milestone" + no_milestones: "Don't have defined milestones" + image: "Image" + show_image: "Show image" + documents: "Documents" + milestone: Milestone + new_milestone: Create new milestone milestone_tags: Milestone Tags + form: + admin_statuses: Manage statuses + no_statuses_defined: There are no defined statuses yet + new: + creating: Create milestone + edit: + title: Edit milestone + create: + notice: New milestone created successfully! + update: + notice: Milestone updated successfully + delete: + notice: Milestone successfully deleted statuses: index: title: Milestone statuses @@ -291,8 +310,28 @@ en: delete: notice: Milestone status deleted successfully progress_bars: + manage: "Manage progress bars" index: title: "Progress bars" + no_progress_bars: "There are no progress bars" + new_progress_bar: "Create new progress bar" + primary: "Primary progress bar" + table_id: "ID" + table_kind: "Type" + table_title: "Title" + table_percentage: "Current progress" + new: + creating: "Create progress bar" + edit: + title: + primary: "Edit primary progress bar" + secondary: "Edit progress bar %{title}" + create: + notice: "Progress bar created successfully!" + update: + notice: "Progress bar updated successfully" + delete: + notice: "Progress bar deleted successfully" comments: index: id: "ID" @@ -656,7 +695,6 @@ en: title_booths: Voting booths legislation: Collaborative Legislation users: Users - trackers: "Trackers" dashboard: Proposals dashboard administrator_tasks: Resources requested dashboard_actions: Resources and actions @@ -1555,26 +1593,6 @@ en: edited_by: "Edited by" actions: "Actions" empty: "There are not changes logged" - trackers: - index: - title: Trackers - name: Name - email: Email - description: Description - no_description: No description - no_trackers: There are no trackers. - tracker: - add: "Add to trackers" - form: - update: Update Tracker - updated: "Tracker updated succesfully." - edit_title: "Trackers: Edit tracker" - show: - email: Email - description: Description - no_description: No description. - search: - title: Trackers local_census_records: index: title: Manage local census diff --git a/config/locales/en/general.yml b/config/locales/en/general.yml index 43337febb..8cf293097 100644 --- a/config/locales/en/general.yml +++ b/config/locales/en/general.yml @@ -255,7 +255,6 @@ en: other: You have %{count} new notifications notifications: Notifications no_notifications: "You don't have new notifications" - tracking: "Tracking" admin: watch_form_message: "You have unsaved changes. Do you confirm to leave the page?" notifications: diff --git a/config/locales/en/tracking.yml b/config/locales/en/tracking.yml deleted file mode 100644 index f78bac5c9..000000000 --- a/config/locales/en/tracking.yml +++ /dev/null @@ -1,90 +0,0 @@ -en: - tracking: - header: - title: Tracking - menu: - title: Tracking - budgets: Participatory budgets - budgets: - index: - title: Participatory budgets - table_name: Name - table_phase: Phase - table_assigned_investments_tracking_open: Investment projects assigned with tracking open - table_actions: Actions - tracking: Tracking - no_budgets: "There are no budgets" - budget_investments: - index: - assigned_to: "Assigned to %{tracker}" - title: Investment projects - edit: Edit milestones - table_id: ID - table_title: Title - table_heading_name: Heading name - table_actions: Actions - no_investments: "There are no investment projects." - show: - title: Investment project - info: Author info - by: Sent by - sent: Sent at - heading: Heading - undefined: "Undefined" - responsibles: Responsibles - assigned_admin: Assigned admin - milestones: - index: - table_id: "ID" - table_title: "Title" - table_description: "Description" - table_publication_date: "Publication date" - table_status: Status - table_actions: "Actions" - delete: "Delete milestone" - no_milestones: "Don't have defined milestones" - image: "Image" - show_image: "Show image" - documents: "Documents" - milestone: Milestone - new_milestone: Create new milestone - form: - admin_statuses: Manage statuses - no_statuses_defined: There are no defined statuses yet - new: - creating: Create milestone - edit: - title: Edit milestone - create: - notice: New milestone created successfully! - update: - notice: Milestone updated successfully - delete: - notice: Milestone successfully deleted - progress_bars: - manage: "Manage progress bars" - index: - title: "Progress bars" - no_progress_bars: "There are no progress bars" - new_progress_bar: "Create new progress bar" - primary: "Primary progress bar" - table_id: "ID" - table_kind: "Type" - table_title: "Title" - table_percentage: "Current progress" - new: - creating: "Create progress bar" - edit: - title: - primary: "Edit primary progress bar" - secondary: "Edit progress bar %{title}" - create: - notice: "Progress bar created successfully!" - update: - notice: "Progress bar updated successfully" - delete: - notice: "Progress bar deleted successfully" - trackers: - budget_investments: - show: - assigned_trackers: "Assigned trackers" diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index 76fcf12fb..e7f998dd5 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -102,13 +102,8 @@ es: zero: "Seleccionar evaluadores" one: "1 evaluador seleccionado" other: "%{count} evaluadores seleccionados" - trackers: - zero: "Seleccionar gestores de seguimiento" - one: "1 gestor de seguimiento seleccionado" - other: "%{count} gestores de seguimiento seleccionados" empty_administrators: "No hay administradores" empty_valuators: "No hay evaluadores" - empty_trackers: "No hay gestores de seguimiento" destroy: success_notice: Presupuesto eliminado correctamente unable_notice: No se puede eliminar un presupuesto con proyectos asociados @@ -254,7 +249,6 @@ es: "false": "No" valuator_groups: "Grupos de evaluadores" preview: Vista previa - assigned_trackers: "Gestores de seguimiento asignados" edit: classification: Clasificación compatibility: Compatibilidad @@ -265,11 +259,36 @@ es: user_tags: Etiquetas asignadas por el usuario tags_placeholder: "Escribe las etiquetas que desees separadas por comas (,)" undefined: Sin definir - assigned_trackers: "Gestores de seguimiento" search_unfeasible: Buscar inviables milestones: index: + table_id: "ID" + table_title: "Título" + table_description: "Descripción" + table_publication_date: "Fecha de publicación" + table_status: Estado + table_actions: "Acciones" + delete: "Eliminar hito" + no_milestones: "No hay hitos definidos" + image: "Imagen" + show_image: "Mostrar imagen" + documents: "Documentos" + milestone: Seguimiento + new_milestone: Crear nuevo hito milestone_tags: Etiquetas de Seguimiento + form: + admin_statuses: Gestionar estados + no_statuses_defined: No hay estados definidos + new: + creating: Crear hito + edit: + title: Editar hito + create: + notice: "¡Nuevo hito creado con éxito!" + update: + notice: Hito actualizado + delete: + notice: Hito borrado correctamente statuses: index: title: Estados de seguimiento @@ -291,8 +310,28 @@ es: delete: notice: Estado de seguimiento eliminado correctamente progress_bars: + manage: "Gestionar barras de progreso" index: title: "Barras de progreso" + no_progress_bars: "No hay barras de progreso" + new_progress_bar: "Crear nueva barra de progreso" + primary: "Barra de progreso principal" + table_id: "ID" + table_kind: "Tipo" + table_title: "Título" + table_percentage: "Progreso" + new: + creating: "Crear barra de progreso" + edit: + title: + primary: "Editar barra de progreso principal" + secondary: "Editar barra de progreso %{title}" + create: + notice: "¡Barra de progreso creada con éxito!" + update: + notice: "Barra de progreso actualizada" + delete: + notice: "Barra de progreso eliminada correctamente" comments: index: id: "ID" @@ -655,7 +694,6 @@ es: title_booths: Urnas de votación legislation: Legislación colaborativa users: Usuarios - trackers: "Gestores de seguimiento" dashboard: Panel de progreso de propuestas administrator_tasks: Recursos solicitados dashboard_actions: Recursos y acciones @@ -1554,26 +1592,6 @@ es: edited_by: "Editado por" actions: "Acciones" empty: "No hay cambios registrados" - trackers: - index: - title: Gestores de seguimiento - name: Nombre - email: Email - description: Descripción - no_description: Sin descripción - no_trackers: No hay gestores de seguimiento. - tracker: - add: "Añadir a gestores de seguimiento" - form: - update: "Actualizar gestor" - updated: "Gestor de seguimiento actualizado correctamente." - edit_title: "Gestores de seguimiento: Editar gestor" - show: - email: Email - description: Descripción - no_description: Sin descripción. - search: - title: Trackers local_census_records: index: title: Gestionar censo local diff --git a/config/locales/es/general.yml b/config/locales/es/general.yml index b4aa427d9..34a58a50d 100644 --- a/config/locales/es/general.yml +++ b/config/locales/es/general.yml @@ -255,7 +255,6 @@ es: other: Tienes %{count} notificaciones nuevas notifications: Notificaciones no_notifications: "No tienes notificaciones nuevas" - tracking: "Seguimiento" admin: watch_form_message: "Has realizado cambios que no han sido guardados. ¿Seguro que quieres abandonar la página?" notifications: diff --git a/config/locales/es/tracking.yml b/config/locales/es/tracking.yml deleted file mode 100644 index f0855327d..000000000 --- a/config/locales/es/tracking.yml +++ /dev/null @@ -1,90 +0,0 @@ -es: - tracking: - header: - title: Seguimiento - menu: - title: Seguimiento - budgets: Presupuestos participativos - budgets: - index: - title: Presupuestos participativos - table_name: Nombre - table_phase: Fase - table_assigned_investments_tracking_open: Prop. Inv. asignadas en segumiento - table_actions: Acciones - tracking: Seguimiento - no_budgets: "No hay presupuestos" - budget_investments: - index: - assigned_to: "Asignadas a %{tracker}" - title: Proyectos de gasto - edit: Editar seguimiento - table_id: ID - table_title: Título - table_heading_name: Nombre de la partida - table_actions: Acciones - no_investments: "No hay proyectos de gasto." - show: - title: Proyecto de gasto - info: Datos de envío - by: Enviada por - sent: Fecha de creación - heading: Partida - undefined: Sin definir - responsibles: Responsables - assigned_admin: Administrador asignado - milestones: - index: - table_id: "ID" - table_title: "Título" - table_description: "Descripción" - table_publication_date: "Fecha de publicación" - table_status: Estado - table_actions: "Acciones" - delete: "Eliminar hito" - no_milestones: "No hay hitos definidos" - image: "Imagen" - show_image: "Mostrar imagen" - documents: "Documentos" - milestone: Seguimiento - new_milestone: Crear nuevo hito - form: - admin_statuses: Gestionar estados - no_statuses_defined: No hay estados definidos - new: - creating: Crear hito - edit: - title: Editar hito - create: - notice: "¡Nuevo hito creado con éxito!" - update: - notice: Hito actualizado - delete: - notice: Hito borrado correctamente - progress_bars: - manage: "Gestionar barras de progreso" - index: - title: "Barras de progreso" - no_progress_bars: "No hay barras de progreso" - new_progress_bar: "Crear nueva barra de progreso" - primary: "Barra de progreso principal" - table_id: "ID" - table_kind: "Tipo" - table_title: "Título" - table_percentage: "Progreso" - new: - creating: "Crear barra de progreso" - edit: - title: - primary: "Editar barra de progreso principal" - secondary: "Editar barra de progreso %{title}" - create: - notice: "¡Barra de progreso creada con éxito!" - update: - notice: "Barra de progreso actualizada" - delete: - notice: "Barra de progreso eliminada correctamente" - trackers: - budget_investments: - show: - assigned_trackers: "Gestores de seguimiento asignados" diff --git a/config/routes.rb b/config/routes.rb index c538a12f1..c650e1401 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -24,7 +24,6 @@ Rails.application.routes.draw do draw :tag draw :user draw :valuation - draw :tracking draw :verification root "welcome#index" diff --git a/config/routes/admin.rb b/config/routes/admin.rb index 972f15842..eb8af3fbf 100644 --- a/config/routes/admin.rb +++ b/config/routes/admin.rb @@ -62,6 +62,9 @@ namespace :admin do resources :budget_investments, only: [:index, :show, :edit, :update] do member { patch :toggle_selection } + + resources :milestones, controller: "budget_investment_milestones" + resources :progress_bars, except: :show, controller: "budget_investment_progress_bars" end resources :budget_phases, only: [:edit, :update] @@ -103,11 +106,6 @@ namespace :admin do get :summary, on: :collection end - resources :trackers, only: [:show, :index, :edit, :update, :create, :destroy] do - get :search, on: :collection - get :summary, on: :collection - end - resources :valuator_groups resources :managers, only: [:index, :create, :destroy] do @@ -210,7 +208,8 @@ namespace :admin do member { patch :toggle_selection } end resources :draft_versions - resources :milestones, only: :index + resources :milestones + resources :progress_bars, except: :show resource :homepage, only: [:edit, :update] end end diff --git a/config/routes/tracking.rb b/config/routes/tracking.rb deleted file mode 100644 index 1912b856b..000000000 --- a/config/routes/tracking.rb +++ /dev/null @@ -1,23 +0,0 @@ -namespace :tracking do - root to: "budgets#index" - - resources :budgets, only: :index do - resources :budget_investments, only: [:index, :show, :edit] do - resources :milestones, controller: "budget_investment_milestones" - resources :progress_bars, except: :show, controller: "budget_investment_progress_bars" - patch :track, on: :member - end - end - - resources :proposals, only: [:index, :show] do - resources :milestones, controller: "proposal_milestones" - resources :progress_bars, except: :show, controller: "proposal_progress_bars" - end - - namespace :legislation do - resources :processes, only: [:index, :show] do - resources :milestones - resources :progress_bars, except: :show - end - end -end diff --git a/db/migrate/20191101183155_remove_trackers.rb b/db/migrate/20191101183155_remove_trackers.rb new file mode 100644 index 000000000..ecb1fc98f --- /dev/null +++ b/db/migrate/20191101183155_remove_trackers.rb @@ -0,0 +1,12 @@ +class RemoveTrackers < ActiveRecord::Migration[5.0] + def up + remove_column :budget_investments, :tracker_assignments_count, :integer + drop_table :budget_tracker_assignments + drop_table :budget_trackers + drop_table :trackers + end + + def down + fail ActiveRecord::IrreversibleMigration + end +end diff --git a/db/schema.rb b/db/schema.rb index 79d28c3fc..c6f941612 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20191031210734) do +ActiveRecord::Schema.define(version: 20191101183155) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -297,7 +297,6 @@ ActiveRecord::Schema.define(version: 20191031210734) do t.datetime "confirmed_hide_at" t.datetime "ignored_flag_at" t.integer "flags_count", default: 0 - t.integer "tracker_assignments_count" t.integer "original_heading_id" t.index ["administrator_id"], name: "index_budget_investments_on_administrator_id", using: :btree t.index ["author_id"], name: "index_budget_investments_on_author_id", using: :btree @@ -340,24 +339,6 @@ ActiveRecord::Schema.define(version: 20191031210734) do t.datetime "updated_at", null: false end - create_table "budget_tracker_assignments", force: :cascade do |t| - t.integer "tracker_id" - t.integer "investment_id" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false - t.index ["investment_id"], name: "index_budget_tracker_assignments_on_investment_id", using: :btree - t.index ["tracker_id"], name: "index_budget_tracker_assignments_on_tracker_id", using: :btree - end - - create_table "budget_trackers", force: :cascade do |t| - t.integer "budget_id" - t.integer "tracker_id" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false - t.index ["budget_id"], name: "index_budget_trackers_on_budget_id", using: :btree - t.index ["tracker_id"], name: "index_budget_trackers_on_tracker_id", using: :btree - end - create_table "budget_translations", force: :cascade do |t| t.integer "budget_id", null: false t.string "locale", null: false @@ -1504,15 +1485,6 @@ ActiveRecord::Schema.define(version: 20191031210734) do t.index ["hidden_at"], name: "index_topics_on_hidden_at", using: :btree end - create_table "trackers", force: :cascade do |t| - t.integer "user_id" - t.string "description" - t.integer "budget_investment_count", default: 0 - t.datetime "created_at", null: false - t.datetime "updated_at", null: false - t.index ["user_id"], name: "index_trackers_on_user_id", using: :btree - end - create_table "users", force: :cascade do |t| t.string "email", default: "" t.string "encrypted_password", default: "", null: false @@ -1700,9 +1672,6 @@ ActiveRecord::Schema.define(version: 20191031210734) do add_foreign_key "budget_administrators", "administrators" add_foreign_key "budget_administrators", "budgets" add_foreign_key "budget_investments", "communities" - add_foreign_key "budget_tracker_assignments", "trackers" - add_foreign_key "budget_trackers", "budgets" - add_foreign_key "budget_trackers", "trackers" add_foreign_key "budget_valuators", "budgets" add_foreign_key "budget_valuators", "valuators" add_foreign_key "dashboard_administrator_tasks", "users" @@ -1743,7 +1712,6 @@ ActiveRecord::Schema.define(version: 20191031210734) do add_foreign_key "proposals", "communities" add_foreign_key "related_content_scores", "related_contents" add_foreign_key "related_content_scores", "users" - add_foreign_key "trackers", "users" add_foreign_key "users", "geozones" add_foreign_key "valuators", "users" end diff --git a/spec/factories/users.rb b/spec/factories/users.rb index 069a2cda0..2d3359798 100644 --- a/spec/factories/users.rb +++ b/spec/factories/users.rb @@ -98,10 +98,6 @@ FactoryBot.define do user end - factory :tracker do - user - end - factory :valuator do user end diff --git a/spec/features/admin/budgets_spec.rb b/spec/features/admin/budgets_spec.rb index fa1f747a4..5ed404756 100644 --- a/spec/features/admin/budgets_spec.rb +++ b/spec/features/admin/budgets_spec.rb @@ -245,9 +245,8 @@ describe "Admin budgets" do scenario "Deselect all selected staff", :js do admin = Administrator.first valuator = create(:valuator) - tracker = create(:tracker) - budget = create(:budget, administrators: [admin], valuators: [valuator], trackers: [tracker]) + budget = create(:budget, administrators: [admin], valuators: [valuator]) visit edit_admin_budget_path(budget) click_link "1 administrator selected" @@ -260,17 +259,11 @@ describe "Admin budgets" do expect(page).to have_link "Select valuators" - click_link "1 tracker selected" - uncheck tracker.name - - expect(page).to have_link "Select trackers" - click_button "Update Budget" visit edit_admin_budget_path(budget) expect(page).to have_link "Select administrators" expect(page).to have_link "Select valuators" - expect(page).to have_link "Select trackers" end end diff --git a/spec/features/admin/translatable_spec.rb b/spec/features/admin/translatable_spec.rb index c40919d81..4ef2a299b 100644 --- a/spec/features/admin/translatable_spec.rb +++ b/spec/features/admin/translatable_spec.rb @@ -356,7 +356,7 @@ describe "Admin edit translatable records" do let(:translatable) { create(:milestone) } scenario "Shows an error message" do - visit edit_tracking_budget_budget_investment_milestone_path(*resource_hierarchy_for(translatable)) + visit edit_admin_budget_budget_investment_milestone_path(*resource_hierarchy_for(translatable)) click_link "Remove language" click_link "Remove language" diff --git a/spec/features/officing_spec.rb b/spec/features/officing_spec.rb index bb5a7afd1..a2298d8fd 100644 --- a/spec/features/officing_spec.rb +++ b/spec/features/officing_spec.rb @@ -108,7 +108,7 @@ describe "Poll Officing" do expect(page).not_to have_link("Moderation") end - xscenario "Officing dashboard" do + scenario "Officing dashboard" do create(:poll_officer, user: user) create(:poll) login_as(user) diff --git a/spec/features/tracking/budget_investments_spec.rb b/spec/features/tracking/budget_investments_spec.rb deleted file mode 100644 index c33c2e8e6..000000000 --- a/spec/features/tracking/budget_investments_spec.rb +++ /dev/null @@ -1,351 +0,0 @@ -require "rails_helper" - -describe "Valuation budget investments" do - let(:budget) { create(:budget) } - let(:tracker) do - create(:tracker, user: create(:user, username: "Rachel", email: "rachel@trackers.org")) - end - - before do - login_as(tracker.user) - end - - scenario "Disabled with a feature flag" do - Setting["process.budgets"] = nil - expect do - visit tracking_budget_budget_investments_path(create(:budget)) - end.to raise_exception(FeatureFlags::FeatureDisabled) - end - - scenario "Display link to tracking section" do - visit root_path - expect(page).to have_link "Tracking", href: tracking_root_path - end - - describe "Index" do - scenario "Index shows budget investments assigned to current tracker" do - investment1 = create(:budget_investment, budget: budget) - investment2 = create(:budget_investment, budget: budget) - - investment1.trackers << tracker - - visit tracking_budget_budget_investments_path(budget) - - expect(page).to have_content(investment1.title) - expect(page).not_to have_content(investment2.title) - end - - scenario "Index shows no budget investment to admins no trackers" do - investment1 = create(:budget_investment, budget: budget) - investment2 = create(:budget_investment, budget: budget) - - investment1.trackers << tracker - - logout - login_as create(:administrator).user - visit tracking_budget_budget_investments_path(budget) - - expect(page).not_to have_content(investment1.title) - expect(page).not_to have_content(investment2.title) - end - - scenario "Index displays investments paginated" do - per_page = Kaminari.config.default_per_page - (per_page + 2).times do - investment = create(:budget_investment, budget: budget) - investment.trackers << tracker - end - - visit tracking_budget_budget_investments_path(budget) - - expect(page).to have_css(".budget_investment", count: per_page) - within("ul.pagination") do - expect(page).to have_content("1") - expect(page).to have_content("2") - expect(page).not_to have_content("3") - click_link "Next", exact: false - end - - expect(page).to have_css(".budget_investment", count: 2) - end - - scenario "headings" do - investment1 = create(:budget_investment, - budget: budget, - title: "investment 1", - heading: create(:budget_heading, name: "first_heading")) - investment2 = create(:budget_investment, - budget: budget, title: "investment 2", - heading: create(:budget_heading, name: "last_heading")) - create(:budget_investment, - budget: budget, - title: "investment 3", - heading: create(:budget_heading, name: "no_heading")) - - investment1.trackers << tracker - investment2.trackers << tracker - - visit tracking_budget_budget_investments_path(budget) - - expect(page).to have_link("All headings (2)") - expect(page).to have_link("last_heading (1)") - expect(page).to have_link("first_heading (1)") - expect(page).not_to have_link("no_heading (1)") - - expect(page).to have_content("investment 1") - expect(page).to have_content("investment 2") - expect(page).not_to have_content("investment 3") - - expect(page.find(".select-heading .is-active")).to have_content("All headings") - - click_on "last_heading (1)" - - expect(page.find(".select-heading .is-active")).to have_content("last_heading (1)") - expect(page).not_to have_content("investment 1") - expect(page).to have_content("investment 2") - expect(page).not_to have_content("investment 3") - end - end - - describe "Show" do - let(:administrator) do - create(:administrator, user: create(:user, username: "Ana", email: "ana@admins.org")) - end - let(:second_tracker) do - create(:tracker, user: create(:user, username: "Rick", email: "rick@trackers.org")) - end - let(:investment) do - create(:budget_investment, budget: budget, administrator: administrator) - end - - before do - investment.trackers << [tracker, second_tracker] - end - - scenario "visible for assigned trackers" do - visit tracking_budget_budget_investments_path(budget) - - click_link investment.title - - expect(page).to have_content(investment.title) - expect(page).to have_content(investment.description) - expect(page).to have_content(investment.author.name) - expect(page).to have_content(investment.heading.name) - - within("#assigned_trackers") do - expect(page).to have_content("Rachel (rachel@trackers.org)") - expect(page).to have_content("Rick (rick@trackers.org)") - end - end - - scenario "visible for admins" do - logout - login_as create(:administrator).user - - visit tracking_budget_budget_investment_path(budget, investment) - - expect(page).to have_content(investment.title) - expect(page).to have_content(investment.description) - expect(page).to have_content(investment.author.name) - expect(page).to have_content(investment.heading.name) - expect(page).to have_content("Ana (ana@admins.org)") - - within("#assigned_trackers") do - expect(page).to have_content("Rachel (rachel@trackers.org)") - expect(page).to have_content("Rick (rick@trackers.org)") - end - end - - scenario "not visible for not assigned trackers" do - logout - login_as create(:tracker).user - - expect do - visit tracking_budget_budget_investment_path(budget, investment) - end.to raise_error "Not Found" - end - end - - describe "Milestones" do - let(:admin) { create(:administrator) } - let(:investment) do - create(:budget_investment, budget: budget, administrator: admin) - end - - before do - investment.trackers << tracker - end - - scenario "visit investment manage milestones" do - visit tracking_budget_budget_investments_path(budget) - - click_link "Edit milestones" - - expect(page).to have_content("Milestone") - expect(page).to have_content(investment.title) - end - - scenario "create investment milestones" do - visit edit_tracking_budget_budget_investment_path(budget, investment) - - expect(page).to have_content("Milestone") - expect(page).to have_content(investment.title) - - click_link "Create new milestone" - - expect(page).to have_content("Create milestone") - fill_in("Description", with: "Test Description") - page.find("#milestone_publication_date").set(Date.current) - - click_button "Create milestone" - - visit edit_tracking_budget_budget_investment_path(budget, investment) - - expect(page).to have_content("Test Description") - end - - scenario "delete investment milestones" do - milestone = create(:milestone, - milestoneable: investment, - description: "Test delete milestone") - - visit edit_tracking_budget_budget_investment_path(budget, investment) - - expect(page).to have_content("Test delete milestone") - - page.find("#milestone_#{milestone.id}").click_link("Delete milestone") - - visit edit_tracking_budget_budget_investment_path(budget, investment) - - expect(page).not_to have_content("Test delete milestone") - end - - scenario "edit investment milestones" do - milestone = create(:milestone, milestoneable: investment, description: "Test edit milestone") - - visit edit_tracking_budget_budget_investment_path(budget, investment) - - expect(page).to have_content("Test edit milestone") - - page.find("#milestone_#{milestone.id}").first("a").click - - expect(page).to have_content("Edit milestone") - expect(page).to have_content("Test edit milestone") - fill_in("Description", with: "Test edited milestone") - - click_button "Update milestone" - - visit edit_tracking_budget_budget_investment_path(budget, investment) - - expect(page).not_to have_content("Test edit milestone") - expect(page).to have_content("Test edited milestone") - end - end - - describe "Progress Bars" do - let(:admin) { create(:administrator) } - let(:investment) do - create(:budget_investment, budget: budget, administrator: admin) - end - - before do - investment.trackers << tracker - end - - scenario "view index" do - visit edit_tracking_budget_budget_investment_path(budget, investment) - - click_link "Manage progress bars" - - expect(page).to have_content("Progress bars") - - logout - login_as create(:tracker, user: create(:user)).user - - expect do - visit tracking_budget_budget_investment_progress_bars_path(budget, investment) - end.to raise_error "Not Found" - end - - scenario "create primary progress bar" do - visit tracking_budget_budget_investment_progress_bars_path(budget, investment) - - expect(page).to have_content("Progress bars") - - click_link "Create new progress bar" - - expect(page).to have_content("Create progress bar") - - select("Primary", from: "Type") - fill_in("Current progress", with: 50) - - click_button "Create Progress bar" - - expect(page).to have_content("Progress bars") - - expect(page).to have_content("Primary") - end - - scenario "create secondary progress bar" do - visit tracking_budget_budget_investment_progress_bars_path(budget, investment) - - expect(page).to have_content("Progress bars") - - click_link "Create new progress bar" - - expect(page).to have_content("Create progress bar") - - select("Secondary", from: "Type") - fill_in("Title", with: "secondary_progress_bar") - fill_in("Current progress", with: 50) - - click_button "Create Progress bar" - - expect(page).to have_content("Progress bars") - - expect(page).to have_content("secondary_progress_bar") - end - - scenario "delete" do - create(:progress_bar, progressable: investment) - secondary_progress_bar = create(:progress_bar, - :secondary, - title: "to delete", - progressable: investment) - - visit tracking_budget_budget_investment_progress_bars_path(budget, investment) - - expect(page).to have_content("Primary") - expect(page).to have_content(secondary_progress_bar.title) - - page.find("#progress_bar_#{secondary_progress_bar.id}").click_link("Delete") - - visit tracking_budget_budget_investment_progress_bars_path(budget, investment) - - expect(page).to have_content("Primary") - expect(page).not_to have_content(secondary_progress_bar.title) - end - - scenario "edit" do - create(:progress_bar, progressable: investment) - secondary_progress_bar = create(:progress_bar, - :secondary, - title: "to edit", - progressable: investment) - - visit tracking_budget_budget_investment_progress_bars_path(budget, investment) - - expect(page).to have_content("Primary") - expect(page).to have_content(secondary_progress_bar.title) - - page.find("#progress_bar_#{secondary_progress_bar.id}").click_link("Edit") - - fill_in("Title", with: "edited") - click_button "Update Progress bar" - - expect(page).to have_content("Progress bars") - - expect(page).to have_content("edited") - end - end -end diff --git a/spec/features/tracking/budgets_spec.rb b/spec/features/tracking/budgets_spec.rb deleted file mode 100644 index 077666f5b..000000000 --- a/spec/features/tracking/budgets_spec.rb +++ /dev/null @@ -1,29 +0,0 @@ -require "rails_helper" - -describe "Tracking budgets" do - before do - tracker = create(:tracker, user: create(:user, username: "Rachel", - email: "rachel@trackers.org")) - login_as(tracker.user) - end - - scenario "Disabled with a feature flag" do - Setting["process.budgets"] = nil - expect { visit tracking_budgets_path }.to raise_exception(FeatureFlags::FeatureDisabled) - end - - context "Index" do - scenario "Displaying budgets" do - budget = create(:budget) - visit tracking_budgets_path - - expect(page).to have_content(budget.name) - end - - scenario "With no budgets" do - visit tracking_budgets_path - - expect(page).to have_content "There are no budgets" - end - end -end diff --git a/spec/shared/features/admin_progressable.rb b/spec/shared/features/admin_progressable.rb index 1ee49eadb..81cd2cb62 100644 --- a/spec/shared/features/admin_progressable.rb +++ b/spec/shared/features/admin_progressable.rb @@ -5,7 +5,7 @@ shared_examples "admin_progressable" do |factory_name, path_name| let(:progressable_path) { send(path_name, *resource_hierarchy_for(progressable)) } let(:path) do - polymorphic_path([:tracking, *resource_hierarchy_for(progressable.progress_bars.new)]) + polymorphic_path([:admin, *resource_hierarchy_for(progressable.progress_bars.new)]) end context "Index" do