WIP Collaborative Project Management first commit
diff --git a/erpnext/templates/pages/task_info.html b/erpnext/templates/pages/task_info.html
new file mode 100644
index 0000000..c756cd5
--- /dev/null
+++ b/erpnext/templates/pages/task_info.html
@@ -0,0 +1,149 @@
+{% extends "templates/web.html" %}
+{% block title %} {{ doc.name }} {% endblock %}
+{% block breadcrumbs %}
+<div class="page-breadcrumbs" data-html-block="breadcrumbs">
+ <ul class="breadcrumb">
+ <li>
+ <span class="icon icon-angle-left"></span>
+ <a href="/projects?project={{ doc.project }}">{{ doc.project }}</a>
+ </li>
+ </ul>
+</div>
+{% endblock %}
+{% block page_content %}
+<div class="row">
+ <div class=" col-sm-8 ">
+ <h1> {{ doc.subject }} </h1>
+ </div>
+
+ <div class="col-sm-4">
+ <div class="page-header-actions-block" data-html-block="header-actions">
+ <button type="submit" class="btn btn-primary btn-sm btn-form-submit">
+ Update</button>
+ <a href="tasks" class="btn btn-default btn-sm">
+ Cancel</a>
+ </div>
+ </div>
+</div>
+
+<div class="page-content-block">
+ <form role="form" data-web-form="tasks">
+
+ <input type="hidden" name="web_form" value="tasks">
+ <input type="hidden" name="doctype" value="Task">
+ <input type="hidden" name="name" value="TASK00056">
+
+ <div class="row">
+ <div class="col-sm-12" style="max-width: 500px;">
+ <div class="form-group">
+ <label for="project" class="control-label text-muted small">Project</label>
+ <input type="text" class="form-control" name="project" readonly value= "{{ doc.project }}">
+ </div>
+
+ <div class="form-group">
+ <label for="subject" class="control-label text-muted small">Subject</label>
+ <input type="text" class="form-control" name="subject" readonly value="{{ doc.subject }}">
+ </div>
+
+ <div class="form-group">
+ <label for="description" class="control-label text-muted small">Details</label>
+ <textarea class="form-control" style="height: 200px;" name="description">{{ doc.description }}</textarea>
+ </div>
+
+ <div class="form-group">
+ <label for="priority" class="control-label text-muted small">Priority</label>
+ <input type="text" class="form-control" name="priority" readonly value="{{ doc.priority }}">
+ </div>
+
+ <div class="form-group">
+ <label for="exp_start_date" class="control-label text-muted small">Expected Start Date</label>
+ <input type="text" class="form-control hasDatepicker" name="exp_start_date" readonly value="{{ doc.exp_start_date }}">
+ </div>
+
+ <div class="form-group">
+ <label for="exp_end_date" class="control-label text-muted small">Expected End Date</label>
+ <input type="text" class="form-control hasDatepicker" name="exp_end_date" readonly value="{{ doc.exp_end_date }}">
+ </div>
+
+ <div class="form-group">
+ <label for="status" class="control-label text-muted small">Status</label>
+ <select class="form-control" name="status" id="status" data-label="Status" data-fieldtype="Select">
+ <option value="Open" selected="selected">
+ Open</option><option value="Working">
+ Working</option><option value="Pending Review">
+ Pending Review</option><option value="Overdue">
+ Overdue</option><option value="Closed">
+ Closed</option><option value="Cancelled">
+ Cancelled</option>
+ </select>
+ </div>
+ </div>
+ </div>
+ </form>
+</div>
+
+<div class="comments">
+ <h3>Comments</h3>
+ <div class="no-comment">
+ {% for comment in comments %}
+ <p class="text-muted">{{comment.sender_full_name}} : {{comment.subject}} on {{comment.communication_date.strftime('%Y-%m-%d')}}</p>
+ {% endfor %}
+ </div>
+ <div class="comment-form-wrapper">
+ <a class="add-comment btn btn-default btn-sm">Add Comment</a>
+ <div style="display: none;" id="comment-form">
+ <p>Add Comment</p>
+ <form>
+ <fieldset>
+ <textarea class="form-control" name="comment" rows="5" placeholder="Comment"></textarea>
+ <p>
+ <button class="btn btn-primary btn-sm" id="submit-comment">Submit</button>
+ </p>
+ </fieldset>
+ </form>
+ </div>
+ </div>
+</div>
+ <script>
+ frappe.ready(function() {
+ var n_comments = $(".comment-row").length;
+ $(".add-comment").click(function() {
+ $(this).toggle(false);
+ $("#comment-form").toggle();
+ $("#comment-form textarea").val("");
+ })
+ $("#submit-comment").click(function() {
+ var args = {
+ comment_by_fullname: "test",
+ comment_by: "admin@localhost.com",
+ comment: $("[name='comment']").val(),
+ reference_doctype: "Task",
+ reference_name: "TASK00069",
+ comment_type: "Comment",
+ page_name: "tasks",
+ }
+
+ frappe.call({
+ btn: this,
+ type: "POST",
+ method: "frappe.templates.includes.comments.comments.add_comment",
+ args: args,
+ callback: function(r) {
+ if(r.exc) {
+ if(r._server_messages)
+ frappe.msgprint(r._server_messages);
+ } else {
+ $(r.message).appendTo("#comment-list");
+ $(".no-comment, .add-comment").toggle(false);
+ $("#comment-form")
+ .replaceWith('<div class="text-muted">Thank you for your comment!</div>')
+ }
+ }
+ })
+
+ return false;
+ })
+ });
+ </script>
+
+{% endblock %}
\ No newline at end of file