Class: ProjectDashboardPresenter
Instance Attribute Summary
#project, #project_metadata
Instance Method Summary
collapse
#approved_by_display_name, #approved_by_uid, #approved_on, #created, #data_manager, #data_read_only_users, #data_read_write_users, #data_sponsor, #data_user_names, #data_users, #department_codes, #departments, #description, #formatted_quota_percentage, #formatted_storage_capacity, #globus, #hpc, #number_of_files, #project_directory, #project_id, #project_in_rails?, #project_purpose, #quota_percentage, #quota_usage, #requested_by_display_name, #requested_by_uid, #requested_on, #smb, #storage_capacity, #submission_provenance, #title, #to_xml, #updated, #user_has_access?, #xml_document, xml_presenter_class
Constructor Details
#initialize(project_data, current_user, project: nil) ⇒ ProjectDashboardPresenter
10
11
12
|
# File 'app/presenters/project_dashboard_presenter.rb', line 10
def initialize(project_data, current_user, project: nil)
super(project || rails_project(project_data), current_user, project_mf: project_data)
end
|
Instance Method Details
#last_activity ⇒ Object
33
34
35
36
37
38
39
|
# File 'app/presenters/project_dashboard_presenter.rb', line 33
def last_activity
if project_metadata.updated_on.nil?
"Not yet active"
else
"#{remove_about time_ago_in_words(project_metadata.updated_on)} ago"
end
end
|
#latest_file_list_time ⇒ Object
22
23
24
25
26
27
28
29
30
31
|
# File 'app/presenters/project_dashboard_presenter.rb', line 22
def latest_file_list_time
requests = FileInventoryRequest.where(project_id: project.id).order(completion_time: :desc)
if requests.empty?
"No Downloads"
elsif requests.first.completion_time
"Prepared #{time_ago_in_words(requests.first.completion_time)} ago"
else
"Preparing now"
end
end
|
#path ⇒ Object
51
52
53
|
# File 'app/presenters/project_dashboard_presenter.rb', line 51
def path
project_directory
end
|
#role(user) ⇒ Object
41
42
43
44
45
46
47
48
49
|
# File 'app/presenters/project_dashboard_presenter.rb', line 41
def role(user)
if .uid == user.uid
"Sponsor"
elsif data_manager.uid == user.uid
"Data Manager"
else
"Data User"
end
end
|
#type ⇒ Object
14
15
16
17
18
19
20
|
# File 'app/presenters/project_dashboard_presenter.rb', line 14
def type
if storage_performance_expectations["approved"].nil?
"Requested #{storage_performance_expectations['requested']}"
else
storage_performance_expectations["approved"]
end
end
|