• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pulibrary / tigerdata-app / 28b04e17-7ce0-43d4-9c8a-852b96fa09c4

22 Oct 2025 08:18PM UTC coverage: 86.978% (-4.2%) from 91.178%
28b04e17-7ce0-43d4-9c8a-852b96fa09c4

Pull #2084

circleci

bess
Clarify that mediaflux no longer needs separate startup for local dev
Pull Request #2084: Clarify that mediaflux no longer needs separate startup for local development

2625 of 3018 relevant lines covered (86.98%)

271.32 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/app/controllers/users_controller.rb
1
# frozen_string_literal: true
2
class UsersController < ApplicationController
×
3
  before_action :set_breadcrumbs
×
4
  before_action :check_user_access, only: %i[index show edit update]
×
5

6
  def index
×
7
    @users = User.order("uid ASC NULLS LAST").page params[:page]
×
8
  end
×
9

10
  def show
×
11
    add_breadcrumb("User")
×
12
    @user = User.find(params[:id])
×
13
  end
×
14

15
  def edit
×
16
    add_breadcrumb("Edit User")
×
17
    @user = User.find(params[:id])
×
18
  end
×
19

20
  def update
×
21
    update_user_with_params
×
22
    redirect_to user_path(@user)
×
23
  rescue => ex
×
24
    short_message = "Error saving user #{params[:id]}"
×
25
    Rails.logger.error "#{short_message}: #{ex.message}"
×
26
    Honeybadger.notify "#{short_message}: #{ex.message}"
×
27
    flash[:alert] = short_message
×
28
    redirect_to user_path(id: params[:id])
×
29
  end
×
30

31
  def lookup
×
32
    query = (params["query"] || "").strip.downcase
×
33
    matches = PrincetonUsers.user_list_query(query)
×
34
    result = {
×
35
      suggestions: matches.take(30).map { |match| { "value": match[:display_name] || "", "data": match[:uid] } }
×
36
    }
×
37
    render json: result
×
38
  end
×
39

40
  private
×
41

42
    def set_breadcrumbs
×
43
      add_breadcrumb("Users", users_path)
×
44
    end
×
45

46
    def check_user_access
×
47
      return if current_user.developer || current_user.sysadmin || current_user.trainer
×
48
      flash[:notice] = "You do not have access to this page (#{current_user.uid})"
×
49
      redirect_to dashboard_path
×
50
    end
×
51

52
    # rubocop:disable Metrics/AbcSize
53
    def update_user_with_params
×
54
      @user = User.find(params[:id])
×
55
      @user.given_name = params["user"]["given_name"]
×
56
      @user.family_name = params["user"]["family_name"]
×
57
      @user.display_name = params["user"]["display_name"]
×
58
      @user.eligible_sponsor = params["user"]["eligible_sponsor"] == "1"
×
59
      @user.eligible_manager = params["user"]["eligible_manager"] == "1"
×
60
      @user.developer = params["user"]["developer"] == "1"
×
61
      @user.sysadmin = params["user"]["sysadmin"] == "1"
×
62
      @user.trainer = params["user"]["trainer"] == "1"
×
63
      @user.save!
×
64
    end
×
65
  # rubocop:enable Metrics/AbcSize
66
end
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc