mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-03 02:14:29 +08:00
Fix project list issues [SCI-11942]
This commit is contained in:
parent
92de60ddcb
commit
3e425b7786
2 changed files with 17 additions and 13 deletions
|
@ -84,7 +84,7 @@ export default {
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
canManage() {
|
canManage() {
|
||||||
return this.params.data.urls.assigned_users && !this.params.data.archived_on;
|
return this.params.data.urls.update;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -141,9 +141,9 @@ module Lists
|
||||||
|
|
||||||
case sort
|
case sort
|
||||||
when 'created_at_ASC'
|
when 'created_at_ASC'
|
||||||
@records = @records.sort_by(&:created_at).reverse!
|
@records = @records.sort_by { |object| project_timestamp(:created_at, object) }.reverse!
|
||||||
when 'created_at_DESC'
|
when 'created_at_DESC'
|
||||||
@records = @records.sort_by(&:created_at)
|
@records = @records.sort_by { |object| project_timestamp(:created_at, object) }
|
||||||
when 'name_ASC'
|
when 'name_ASC'
|
||||||
@records = @records.sort_by { |c| c.name.downcase }
|
@records = @records.sort_by { |c| c.name.downcase }
|
||||||
when 'name_DESC'
|
when 'name_DESC'
|
||||||
|
@ -153,17 +153,17 @@ module Lists
|
||||||
when 'code_DESC'
|
when 'code_DESC'
|
||||||
@records = @records.sort_by(&:id).reverse!
|
@records = @records.sort_by(&:id).reverse!
|
||||||
when 'archived_on_ASC'
|
when 'archived_on_ASC'
|
||||||
@records = @records.sort_by(&:archived_on)
|
@records = @records.sort_by { |object| project_timestamp(:archived_on, object) }
|
||||||
when 'archived_on_DESC'
|
when 'archived_on_DESC'
|
||||||
@records = @records.sort_by(&:archived_on).reverse!
|
@records = @records.sort_by { |object| project_timestamp(:archived_on, object) }.reverse!
|
||||||
when 'users_ASC'
|
when 'users_ASC'
|
||||||
@records = @records.sort_by { |object| project_users_count(object) }
|
@records = @records.sort_by { |object| project_users_count(object) }
|
||||||
when 'users_DESC'
|
when 'users_DESC'
|
||||||
@records = @records.sort_by { |object| project_users_count(object) }.reverse!
|
@records = @records.sort_by { |object| project_users_count(object) }.reverse!
|
||||||
when 'updated_at_ASC'
|
when 'updated_at_ASC'
|
||||||
@records = @records.sort_by(&:updated_at).reverse!
|
@records = @records.sort_by { |object| project_timestamp(:updated_at, object) }.reverse!
|
||||||
when 'updated_at_DESC'
|
when 'updated_at_DESC'
|
||||||
@records = @records.sort_by(&:updated_at)
|
@records = @records.sort_by { |object| project_timestamp(:updated_at, object) }
|
||||||
when 'comments_ASC'
|
when 'comments_ASC'
|
||||||
@records = @records.sort_by { |object| project_comments_count(object) }
|
@records = @records.sort_by { |object| project_comments_count(object) }
|
||||||
when 'comments_DESC'
|
when 'comments_DESC'
|
||||||
|
@ -181,9 +181,9 @@ module Lists
|
||||||
when 'due_date_DESC'
|
when 'due_date_DESC'
|
||||||
@records = @records.sort_by { |object| project_due_date(object) }.reverse!
|
@records = @records.sort_by { |object| project_due_date(object) }.reverse!
|
||||||
when 'status_ASC'
|
when 'status_ASC'
|
||||||
@records = @records.sort_by { |object| project_status(object, 'asc') }
|
@records = @records.sort_by { |object| project_status(object) }
|
||||||
when 'status_DESC'
|
when 'status_DESC'
|
||||||
@records = @records.sort_by { |object| project_status(object, 'desc') }.reverse!
|
@records = @records.sort_by { |object| project_status(object) }.reverse!
|
||||||
when 'supervised_by_ASC'
|
when 'supervised_by_ASC'
|
||||||
@records = @records.sort_by { |object| project_supervised_by(object) }
|
@records = @records.sort_by { |object| project_supervised_by(object) }
|
||||||
when 'supervised_by_DESC'
|
when 'supervised_by_DESC'
|
||||||
|
@ -202,7 +202,7 @@ module Lists
|
||||||
def project_comments_count(object)
|
def project_comments_count(object)
|
||||||
return [0, 0, -1] unless project?(object)
|
return [0, 0, -1] unless project?(object)
|
||||||
|
|
||||||
[1, can_create_project_comments?(@user, object) ? 1 : 0, object.comments.count]
|
[1, object.comments.count, can_create_project_comments?(@user, object) ? 1 : 0]
|
||||||
end
|
end
|
||||||
|
|
||||||
def project_users_count(object)
|
def project_users_count(object)
|
||||||
|
@ -231,8 +231,8 @@ module Lists
|
||||||
object.due_date || Date.new(2100, 1, 1)
|
object.due_date || Date.new(2100, 1, 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
def project_status(object, direction)
|
def project_status(object)
|
||||||
return (direction == 'asc' ? 10 : -1) unless project?(object)
|
return 3 unless project?(object)
|
||||||
|
|
||||||
statuses = {
|
statuses = {
|
||||||
not_started: 0,
|
not_started: 0,
|
||||||
|
@ -252,7 +252,11 @@ module Lists
|
||||||
def project_description(object)
|
def project_description(object)
|
||||||
return [1, '', 1] unless project?(object)
|
return [1, '', 1] unless project?(object)
|
||||||
|
|
||||||
[object.description ? 0 : 1, strip_tags(object.description || ''), 0]
|
[object.description ? 0 : 1, strip_tags(object.description&.downcase || ''), 0]
|
||||||
|
end
|
||||||
|
|
||||||
|
def project_timestamp(timestamp_name, object)
|
||||||
|
project?(object) ? object[timestamp_name] : DateTime.new(2100, 1, 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
def project?(object)
|
def project?(object)
|
||||||
|
|
Loading…
Add table
Reference in a new issue