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

pulibrary / tigerdata-app / 7ab9089e-7ed5-4c90-9855-9749cfbe2d27

13 Nov 2025 02:38PM UTC coverage: 87.508% (-0.9%) from 88.421%
7ab9089e-7ed5-4c90-9855-9749cfbe2d27

push

circleci

web-flow
Show the status of our java plugin (#2175)

Ref #2166

<img width="1262" height="486" alt="Screenshot 2025-11-10 at 11 22
04 AM"
src="https://github.com/user-attachments/assets/d9132f9a-f0e1-4e15-ac53-3336a48f77f4"
/>

---------

Co-authored-by: Hector Correa <hector_correa@princeton.edu>

5 of 7 new or added lines in 1 file covered. (71.43%)

557 existing lines in 36 files now uncovered.

2760 of 3154 relevant lines covered (87.51%)

362.41 hits per line

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

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

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

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

21
  def data_manager
4✔
UNCOV
22
    full_name(request.data_manager)
2✔
23
  end
24

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

29
  def departments_list
4✔
UNCOV
30
    return "" if request.departments.blank?
2✔
UNCOV
31
    dept_list = []
1✔
UNCOV
32
    request.departments.each do |dept|
1✔
UNCOV
33
      dept_list << "#{dept['name']} (#{dept['code']})"
2✔
34
    end
UNCOV
35
    dept_list.join(", ")
1✔
36
  end
37

38
  def user_list
4✔
UNCOV
39
    return "" if request.user_roles.blank?
2✔
UNCOV
40
    usr_list = []
1✔
UNCOV
41
    request.user_roles.each do |usr|
1✔
UNCOV
42
      name = full_name(usr["uid"])
2✔
UNCOV
43
      name += " read only" if usr["read_only"]
2✔
UNCOV
44
      usr_list << name
2✔
45
    end
UNCOV
46
    usr_list.join(", ")
1✔
47
  end
48

49
  def full_name(uid)
4✔
UNCOV
50
    return "" if uid.blank?
8✔
UNCOV
51
    user = User.find_by(uid: uid)
6✔
UNCOV
52
    user.display_name_safe.to_s
6✔
53
  end
54

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

73
  private
4✔
74

75
    def step1_css_suffix(controller_name, substep = nil)
4✔
76
      css_suffix = "-incomplete"
24✔
77
      if substep.nil?
24✔
78
        return "-current" if controller_name.start_with?("project_information")
12✔
79
        if step1_valid?
8✔
80
          css_suffix = "-completed"
×
81
        end
82
      elsif substep == "Basic Details"
12✔
83
        return "-current" if controller_name == "project_information"
12✔
84
        if step1_valid?
10✔
85
          css_suffix = "-completed"
×
86
        end
87
      end
88
      css_suffix
18✔
89
    end
90

91
    def step2_css_suffix(controller_name)
4✔
92
      return "-current" if controller_name == "roles_and_people"
12✔
93
      if step2_valid?
11✔
94
        "-completed"
×
95
      else
96
        "-incomplete"
11✔
97
      end
98
    end
99

100
    def step3_css_suffix(controller_name)
4✔
101
      return "-current" if controller_name == "storage_and_access"
12✔
102
      if step3_valid?
11✔
103
        "-completed"
×
104
      else
105
        "-incomplete"
11✔
106
      end
107
    end
108

109
    def step4_css_suffix(controller_name)
4✔
110
      return "-current" if controller_name == "review_and_submit"
12✔
111
      if step4_valid?
10✔
112
        "-completed"
×
113
      else
114
        "-incomplete"
10✔
115
      end
116
    end
117

118
    def step1_valid?
4✔
119
      return false if request.project_title.blank? || request.project_folder.blank? || request.project_purpose.blank? || request.description.blank? || request.departments.blank?
28✔
120
      true
×
121
    end
122

123
    def step2_valid?
4✔
124
      return false if request.data_manager.blank? || request.data_sponsor.blank?
11✔
125
      true
×
126
    end
127

128
    def step3_valid?
4✔
129
      return false if request.storage_size.nil?
11✔
130
      true
×
131
    end
132

133
    def step4_valid?
4✔
134
      step1_valid? && step2_valid? && step3_valid?
10✔
135
    end
136
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