mirror of
https://github.com/frappe/erpnext.git
synced 2026-09-02 16:13:22 +00:00
WIP Collaborative Project Management first commit
This commit is contained in:
31
erpnext/templates/includes/projects/project_issues.html
Normal file
31
erpnext/templates/includes/projects/project_issues.html
Normal file
@@ -0,0 +1,31 @@
|
||||
{% for issue in doc.issues %}
|
||||
<div class='issue'>
|
||||
<div class='row project-item'>
|
||||
<div class='col-xs-9'>
|
||||
<a class="no-decoration" href="/issues-view?name={{ issue.name}}">
|
||||
<span class="indicator {{ "green" if issue.status=="Open" else "darkgrey" }}">
|
||||
{% if issue.status == "Closed" %}
|
||||
{{ issue.subject }} resolved {{ frappe.utils.pretty_date(issue.resolution_date) }}
|
||||
{% else %}
|
||||
{{ issue.subject }} raised on {{ issue.opening_date }}
|
||||
{% endif %}
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class='col-xs-3'>
|
||||
<div class='pull-right'>
|
||||
{% if issue.todo %}
|
||||
<span class="avatar avatar-small" title="{{ issue.todo.owner }}"> <img src="{{ issue.todo.user_image }}"></span>
|
||||
{% else %}
|
||||
<span class="avatar avatar-small avatar-empty"></span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class='pull-right' style='padding-right:10px;'>
|
||||
{% if issue.status != "Closed" %}
|
||||
<span class="text-extra-muted "> <i class="octicon octicon-x issue-x" title="Close" id = "{{issue.name}}"></i> </span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
30
erpnext/templates/includes/projects/project_tasks.html
Normal file
30
erpnext/templates/includes/projects/project_tasks.html
Normal file
@@ -0,0 +1,30 @@
|
||||
{% for task in doc.tasks %}
|
||||
<div class='task'>
|
||||
<div class='row project-item'>
|
||||
<div class='col-xs-9'>
|
||||
<a class="no-decoration" href="/tasks-view?name={{ task.name}}">
|
||||
<span class="indicator {{ "green" if task.status=="Open" else "darkgrey" }}">
|
||||
{% if task.status == "Closed" %}
|
||||
{{ task.subject }} completed on {{ task.closing_date }}
|
||||
{% else %}
|
||||
{{ task.subject }}
|
||||
{% endif %}
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class='col-xs-3'>
|
||||
<div class='pull-right'>
|
||||
{% if task.todo %} <span class="avatar avatar-small" title="{{ task.todo.owner }}"> <img src="{{ task.todo.user_image }}"></span>
|
||||
{% else %}
|
||||
<span class="avatar avatar-small avatar-empty"></span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class='pull-right' style='padding-right:10px;'>
|
||||
{% if task.status != "Closed" %}
|
||||
<span class="text-extra-muted "> <i class="octicon octicon-x task-x" title="Close" id = "{{task.name}}"></i> </span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
20
erpnext/templates/includes/projects/project_timelogs.html
Normal file
20
erpnext/templates/includes/projects/project_timelogs.html
Normal file
@@ -0,0 +1,20 @@
|
||||
{% for timelog in doc.timelogs %}
|
||||
<div class='timelog'>
|
||||
<div class='row project-item'>
|
||||
<div class='col-xs-9'>
|
||||
<a class="no-decoration" href="/timelog_info?timelog={{ timelog.name}}">
|
||||
<span class="indicator {{ "green" if timelog.status=="Draft" else "blue" if timelog.status=="Submitted" else "darkgrey"}}">
|
||||
|
||||
{{ timelog.title }}: From {{ frappe.format_date(timelog.from_time) }} to {{ frappe.format_date(timelog.to_time) }}
|
||||
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class='col-xs-3'>
|
||||
<div class='pull-right'>
|
||||
<span class="avatar avatar-small" title="{{ timelog.modified_by }}"> <img src="{{ timelog.user_image }}"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
44
erpnext/templates/includes/projects/timeline.html
Normal file
44
erpnext/templates/includes/projects/timeline.html
Normal file
@@ -0,0 +1,44 @@
|
||||
{% for timeline in doc.timelines %}
|
||||
<div class='timeline'>
|
||||
<div class="row project-item">
|
||||
<div class="col-xs-12">
|
||||
<span class="avatar avatar-small" title="{{ timeline.modified_by }}"> <img src="{{ timeline.user_image }}"></span>
|
||||
<span class='indicator'>
|
||||
{{timeline.reference_name}} {{timeline.subject }}
|
||||
</span>
|
||||
<span class='indicator pull-right'>
|
||||
{{ frappe.utils.pretty_date(timeline.creation) }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<!-- <div class="timeline-centered">
|
||||
{% for timeline in doc.timelines %}
|
||||
|
||||
|
||||
|
||||
<article class="timeline-entry">
|
||||
|
||||
<div class="timeline-entry-inner">
|
||||
|
||||
<div class="timeline-icon bg-warning">
|
||||
<i class="entypo-camera"></i>
|
||||
</div>
|
||||
|
||||
<div class="timeline-label">
|
||||
<span class="avatar avatar-small" title="{{ timeline.modified_by }}"> <img src="{{ timeline.user_image }}"></span>
|
||||
<span class='indicator'>
|
||||
{{timeline.reference_name}} {{timeline.subject }}
|
||||
</span>
|
||||
<span class='indicator pull-right'>
|
||||
{{ frappe.utils.pretty_date(timeline.creation) }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
|
||||
{% endfor %}
|
||||
</div> -->
|
||||
Reference in New Issue
Block a user