2016-03-16 18:01:22 +05:30
|
|
|
{% extends "templates/web.html" %}
|
|
|
|
|
2021-07-01 17:17:34 +05:30
|
|
|
{% block title %}
|
|
|
|
{{ doc.project_name }}
|
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
{% block head_include %}
|
2022-07-06 15:10:39 +05:30
|
|
|
<link rel="stylesheet" href="/assets/frappe/css/fonts/fontawesome/font-awesome.min.css">
|
2021-07-01 17:17:34 +05:30
|
|
|
{% endblock %}
|
2016-03-16 18:01:22 +05:30
|
|
|
|
2016-05-02 11:43:44 +05:30
|
|
|
{% block header %}
|
2022-11-21 17:42:53 +05:30
|
|
|
<h3 class="my-account-header">{{ doc.project_name }}</h3>
|
2016-03-22 16:00:41 +05:30
|
|
|
{% endblock %}
|
|
|
|
|
2016-03-16 18:01:22 +05:30
|
|
|
{% block style %}
|
2021-07-01 17:17:34 +05:30
|
|
|
<style>
|
2023-10-31 19:49:45 +05:30
|
|
|
{% include "templates/includes/projects.css" %}
|
2021-07-01 17:17:34 +05:30
|
|
|
</style>
|
2016-03-23 18:28:50 +05:30
|
|
|
{% endblock %}
|
2016-03-16 18:01:22 +05:30
|
|
|
|
|
|
|
{% block page_content %}
|
2022-11-21 17:42:53 +05:30
|
|
|
<div class="web-list-item transaction-list-item">
|
|
|
|
<div class="row align-items-center">
|
2023-10-31 19:49:45 +05:30
|
|
|
<div class="col-sm-4 "><b>{{ _("Status") }}: {{ _(doc.status) }}</b></div>
|
|
|
|
<div class="col-sm-4 "><b>{{ _("Progress") }}: {{ doc.get_formatted("percent_complete") }}</b></div>
|
|
|
|
<div class="col-sm-4 "><b>{{ _("Hours Spent") }}: {{ doc.get_formatted("actual_time") }}</b></div>
|
2022-11-21 17:42:53 +05:30
|
|
|
</div>
|
2021-07-01 17:17:34 +05:30
|
|
|
</div>
|
|
|
|
|
|
|
|
{{ progress_bar(doc.percent_complete) }}
|
|
|
|
|
2022-11-21 17:42:53 +05:30
|
|
|
<hr>
|
|
|
|
|
|
|
|
<div class="row align-items-center">
|
2023-10-31 19:49:45 +05:30
|
|
|
<div class="col-sm-6 my-account-header"> <h4>{{ _("Tasks") }}</h4></div>
|
2022-11-21 17:42:53 +05:30
|
|
|
<div class="col-sm-6 text-right">
|
|
|
|
<a class="btn btn-secondary btn-light btn-sm" href='/tasks/new?project={{ doc.project_name }}'>{{ _("New task") }}</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
2022-11-21 19:37:57 +05:30
|
|
|
{% if doc.tasks %}
|
2022-11-21 17:42:53 +05:30
|
|
|
<div class="website-list">
|
|
|
|
<div class="result">
|
|
|
|
<div class="web-list-item transaction-list-item">
|
|
|
|
<div class="row align-items-center">
|
2023-10-31 19:49:45 +05:30
|
|
|
<div class="col-sm-4"><b>{{ _("Tasks") }}</b></div>
|
|
|
|
<div class="col-sm-2"><b>{{ _("Status") }}</b></div>
|
|
|
|
<div class="col-sm-2"><b>{{ _("End Date") }}</b></div>
|
|
|
|
<div class="col-sm-2"><b>{{ _("Assignment") }}</b></div>
|
|
|
|
<div class="col-sm-2"><b>{{ _("Modified On") }}</b></div>
|
2021-07-01 17:17:34 +05:30
|
|
|
</div>
|
|
|
|
</div>
|
2022-11-21 17:42:53 +05:30
|
|
|
{% include "erpnext/templates/includes/projects/project_tasks.html" %}
|
2021-07-01 17:17:34 +05:30
|
|
|
</div>
|
2022-11-21 17:42:53 +05:30
|
|
|
</div>
|
2021-07-01 17:17:34 +05:30
|
|
|
{% else %}
|
2023-10-31 19:49:45 +05:30
|
|
|
{{ empty_state(_("Task")) }}
|
2021-07-01 17:17:34 +05:30
|
|
|
{% endif %}
|
|
|
|
|
2023-10-31 19:49:45 +05:30
|
|
|
<h4 class="my-account-header">{{ _("Timesheets") }}</h4>
|
2022-11-21 19:37:57 +05:30
|
|
|
{% if doc.timesheets %}
|
2021-07-01 17:17:34 +05:30
|
|
|
<div class="website-list">
|
|
|
|
<div class="result">
|
|
|
|
<div class="web-list-item transaction-list-item">
|
2022-11-21 17:42:53 +05:30
|
|
|
<div class="row align-items-center">
|
2023-10-31 19:49:45 +05:30
|
|
|
<div class="col-xs-2"><b>{{ _("Timesheet") }}</b></div>
|
|
|
|
<div class="col-xs-2"><b>{{ _("Status") }}</b></div>
|
|
|
|
<div class="col-xs-2"><b>{{ _("From") }}</b></div>
|
|
|
|
<div class="col-xs-2"><b>{{ _("To") }}</b></div>
|
|
|
|
<div class="col-xs-2"><b>{{ _("Modified By") }}</b></div>
|
|
|
|
<div class="col-xs-2"><b>{{ _("Modified On") }}</b></div>
|
2021-07-01 17:17:34 +05:30
|
|
|
</div>
|
|
|
|
</div>
|
2022-11-21 17:42:53 +05:30
|
|
|
{% include "erpnext/templates/includes/projects/project_timesheets.html" %}
|
2021-07-01 17:17:34 +05:30
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{% else %}
|
2023-10-31 19:49:45 +05:30
|
|
|
{{ empty_state(_("Timesheet")) }}
|
2021-07-01 17:17:34 +05:30
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if doc.attachments %}
|
|
|
|
<div class='padding'></div>
|
|
|
|
|
|
|
|
<h4>{{ _("Attachments") }}</h4>
|
|
|
|
<div class="project-attachments">
|
|
|
|
{% for attachment in doc.attachments %}
|
|
|
|
<div class="attachment">
|
|
|
|
<a class="no-decoration attachment-link" href="{{ attachment.file_url }}" target="blank">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-9">
|
|
|
|
<span class="indicator red file-name">
|
|
|
|
{{ attachment.file_name }}</span>
|
|
|
|
</div>
|
|
|
|
<div class="col-xs-3">
|
|
|
|
<span class="pull-right file-size">{{ attachment.file_size }}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
{% endfor %}
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
2018-09-10 13:40:43 +02:00
|
|
|
|
2016-03-16 18:01:22 +05:30
|
|
|
</div>
|
|
|
|
|
|
|
|
<script>
|
2022-11-21 17:42:53 +05:30
|
|
|
{ % include "frappe/public/js/frappe/provide.js" % }
|
|
|
|
{ % include "frappe/public/js/frappe/form/formatters.js" % }
|
|
|
|
</script>
|
2016-03-16 18:01:22 +05:30
|
|
|
|
2016-03-23 14:14:38 +05:30
|
|
|
{% endblock %}
|
2021-07-01 17:17:34 +05:30
|
|
|
|
|
|
|
{% macro progress_bar(percent_complete) %}
|
|
|
|
{% if percent_complete %}
|
2023-10-31 19:49:45 +05:30
|
|
|
<span class="small py-2">{{ _("Project Progress:") }}</span>
|
2022-11-21 17:42:53 +05:30
|
|
|
<div class="progress progress-hg" style="height: 15px;">
|
|
|
|
<div
|
|
|
|
class="progress-bar progress-bar-{{ 'warning' if percent_complete|round < 100 else 'success' }} active"\
|
|
|
|
role="progressbar" aria-valuenow="{{ percent_complete|round|int }}" aria-valuemin="0"\
|
|
|
|
aria-valuemax="100" style="width:{{ percent_complete|round|int }}%;">
|
|
|
|
</div>
|
2021-07-01 17:17:34 +05:30
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
{% endmacro %}
|
2022-11-21 19:37:57 +05:30
|
|
|
|
|
|
|
|
|
|
|
{% macro empty_state(section_name) %}
|
|
|
|
<div class="frappe-list align-items-center">
|
|
|
|
<div class=" text-muted flex justify-center align-center" style="">
|
|
|
|
<div class=" text-muted flex text-center">
|
|
|
|
<div class="msg-box no-border">
|
|
|
|
<div>
|
|
|
|
<img src="/assets/frappe/images/ui-states/list-empty-state.svg" alt="Generic Empty State" class="null-state">
|
|
|
|
</div>
|
2023-10-31 19:49:45 +05:30
|
|
|
<p>{{ _("You haven't created a {0} yet").format(section_name) }}</p>
|
2022-11-21 19:37:57 +05:30
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{% endmacro %}
|