Add open task count to /projects
This commit is contained in:
parent
3c9a04734a
commit
e3a89efb5a
5 changed files with 26 additions and 6 deletions
|
@ -41,13 +41,18 @@ export function Projects() {
|
|||
}}
|
||||
></div>
|
||||
<a
|
||||
className="w-6/8 no-underline text-accent block h-14"
|
||||
className="w-6/8 no-underline text-accent flex w-full h-14"
|
||||
href={`/tasks/#projectId=${project.id}`}
|
||||
>
|
||||
<span className="block w-full">{project.name}</span>
|
||||
<span className="block w-full text-smaller text-secondary">
|
||||
<div className="flex flex-col w-5/6">
|
||||
<span className="flex w-full">{project.name}</span>
|
||||
<span className="flex w-full text-smaller text-secondary">
|
||||
{project.path}
|
||||
</span>
|
||||
</div>
|
||||
<div className="flex items-start justify-center w-1/6">
|
||||
{project.openTaskCount} open tasks
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
);
|
||||
|
|
|
@ -7,6 +7,7 @@ const GQL = gql`
|
|||
name
|
||||
path
|
||||
color
|
||||
openTaskCount
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
|
|
@ -7,5 +7,6 @@ module Twenty::GraphQL::Type
|
|||
field :path, String, null: false
|
||||
field :color, String, null: false
|
||||
field :tasks, "[Twenty::GraphQL::Type::Task]", null: false
|
||||
field :open_task_count, Integer, null: false
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,7 +23,10 @@ module Twenty::GraphQL::Type
|
|||
end
|
||||
|
||||
def projects
|
||||
Twenty::Project.all
|
||||
Twenty::Project
|
||||
.all
|
||||
.sort_by { _1.open_task_count }
|
||||
.reverse
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,4 +14,14 @@ class Twenty::Project < Sequel::Model
|
|||
def path
|
||||
super&.sub(Dir.home, "~")
|
||||
end
|
||||
|
||||
##
|
||||
# @return [Integer]
|
||||
# Returns the number of open tasks a project has.
|
||||
def open_task_count
|
||||
@open_task_count ||= Twenty::Task
|
||||
.where(project_id: id)
|
||||
.where(Sequel.lit("status IN (0,1,2)"))
|
||||
.count
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue