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

pulibrary / tigerdata-app / 699c2139-839b-4593-bb89-b830acc958af

24 Nov 2025 05:25PM UTC coverage: 91.333% (+20.9%) from 70.412%
699c2139-839b-4593-bb89-b830acc958af

Pull #2235

circleci

carolyncole
Do not redirect from home page when login is disabled

fixes #2188
Pull Request #2235: Do not redirect from home page when login is disabled

1 of 5 new or added lines in 2 files covered. (20.0%)

580 existing lines in 35 files now uncovered.

2898 of 3173 relevant lines covered (91.33%)

570.28 hits per line

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

97.53
/app/presenters/request_presenter.rb
1
# frozen_string_literal: true
2
class RequestPresenter
5✔
3
  attr_reader :request
5✔
4
  def initialize(request)
5✔
5
    @request = request
115✔
6
  end
7

8
  def eligible_to_edit?(user)
5✔
UNCOV
9
    return false if user.nil?
95✔
UNCOV
10
    if request.submitted?
95✔
UNCOV
11
      user.eligible_sysadmin?
54✔
12
    else
UNCOV
13
      user.uid == request.requested_by || user.eligible_sysadmin?
41✔
14
    end
15
  end
16

17
  def data_sponsor
5✔
UNCOV
18
    full_name(request.data_sponsor)
18✔
19
  end
20

21
  def data_manager
5✔
UNCOV
22
    full_name(request.data_manager)
19✔
23
  end
24

25
  def project_directory
5✔
26
    request.parent_folder.present? ? File.join(request.parent_folder, request.project_folder) : request.project_folder
17✔
27
  end
28

29
  def project_purpose
5✔
30
    ProjectPurpose.label_for(request.project_purpose)
17✔
31
  end
32

33
  def departments_list
5✔
UNCOV
34
    return "" if request.departments.blank?
19✔
UNCOV
35
    dept_list = []
15✔
UNCOV
36
    request.departments.each do |dept|
15✔
UNCOV
37
      dept_list << "#{dept['name']} (#{dept['code']})"
26✔
38
    end
UNCOV
39
    dept_list.join(", ")
15✔
40
  end
41

42
  def user_list
5✔
UNCOV
43
    return "" if request.user_roles.blank?
19✔
UNCOV
44
    usr_list = []
12✔
UNCOV
45
    request.user_roles.each do |usr|
12✔
UNCOV
46
      name = full_name(usr["uid"])
13✔
UNCOV
47
      name += " read only" if usr["read_only"]
13✔
UNCOV
48
      usr_list << name
13✔
49
    end
UNCOV
50
    usr_list.join(", ")
12✔
51
  end
52

53
  def full_name(uid)
5✔
UNCOV
54
    return "" if uid.blank?
53✔
UNCOV
55
    user = User.find_by(uid: uid)
45✔
UNCOV
56
    user.display_name_safe.to_s
45✔
57
  end
58

59
  # Returns the correct CSS class suffix for the sidebar navigation progress for a given
60
  # step/substep.
61
  def sidebar_progress(controller, step, substep = nil)
5✔
62
    controller_name = controller.controller_name
295✔
63
    case step
295✔
64
    when 1
65
      step1_css_suffix(controller_name, substep)
118✔
66
    when 2
67
      step2_css_suffix(controller_name)
59✔
68
    when 3
69
      step3_css_suffix(controller_name)
59✔
70
    when 4
71
      step4_css_suffix(controller_name)
59✔
72
    else
73
      "-incomplete"
×
74
    end
75
  end
76

77
  private
5✔
78

79
    def step1_css_suffix(controller_name, substep = nil)
5✔
80
      css_suffix = "-incomplete"
118✔
81
      if substep.nil?
118✔
82
        return "-current" if controller_name.start_with?("project_information")
59✔
83
        if step1_valid?
36✔
84
          css_suffix = "-completed"
12✔
85
        end
86
      elsif substep == "Basic Details"
59✔
87
        return "-current" if controller_name == "project_information"
59✔
88
        if step1_valid?
38✔
89
          css_suffix = "-completed"
12✔
90
        end
91
      end
92
      css_suffix
74✔
93
    end
94

95
    def step2_css_suffix(controller_name)
5✔
96
      return "-current" if controller_name == "roles_and_people"
59✔
97
      if step2_valid?
48✔
98
        "-completed"
7✔
99
      else
100
        "-incomplete"
41✔
101
      end
102
    end
103

104
    def step3_css_suffix(controller_name)
5✔
105
      return "-current" if controller_name == "storage_and_access"
59✔
106
      if step3_valid?
53✔
107
        "-completed"
9✔
108
      else
109
        "-incomplete"
44✔
110
      end
111
    end
112

113
    def step4_css_suffix(controller_name)
5✔
114
      return "-current" if controller_name == "review_and_submit"
59✔
115
      if step4_valid?
44✔
116
        "-completed"
×
117
      else
118
        "-incomplete"
44✔
119
      end
120
    end
121

122
    def step1_valid?
5✔
123
      return false if request.project_title.blank? || request.project_folder.blank? || request.project_purpose.blank? || request.description.blank? || request.departments.blank?
118✔
124
      true
33✔
125
    end
126

127
    def step2_valid?
5✔
128
      return false if request.data_manager.blank? || request.data_sponsor.blank?
57✔
129
      true
10✔
130
    end
131

132
    def step3_valid?
5✔
133
      return false if request.storage_size.nil?
56✔
134
      true
9✔
135
    end
136

137
    def step4_valid?
5✔
138
      step1_valid? && step2_valid? && step3_valid?
44✔
139
    end
140
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