[shopping-cart] i'm back
diff --git a/erpnext/templates/pages/tickets.html b/erpnext/templates/pages/tickets.html
new file mode 100644
index 0000000..6c03313
--- /dev/null
+++ b/erpnext/templates/pages/tickets.html
@@ -0,0 +1,92 @@
+{% block title %} {{ title }} {% endblock %}
+
+{% block header %}<h2>{{ title }}</h2>{% endblock %}
+
+{% block content %}
+{% include "templates/includes/transactions.html" %}
+
+<script>
+ var status_label = {
+ "Open": "label-success",
+ "Waiting for Customer": "label-danger",
+ "Closed": "label-default"
+ }
+
+ var render = function(doc) {
+ doc.status = doc.status.trim();
+ doc.label_class = status_label[doc.status] || "label-default";
+ if(doc.status==="Waiting for Customer") doc.status = "To Reply";
+
+ $(repl('<a href="{{ page }}?name=%(name)s" class="list-group-item">\
+ <div class="row">\
+ <div class="col-md-2" style="margin-bottom: 7px;"><span class="label %(label_class)s">\
+ %(status)s</span></div>\
+ <div class="col-md-8">\
+ <div class="row col-md-12">%(name)s</div>\
+ <div class="row col-md-12 text-muted">%(subject)s</div>\
+ </div>\
+ <div class="col-md-2 pull-right">\
+ <span class="text-muted">%(creation)s</span>\
+ </div>\
+ </div>\
+ </a>', doc)).appendTo($list);
+ };
+
+ frappe.ready(function() {
+ if(!window.$new_ticket) {
+ window.$new_ticket = $('<div>\
+ <button class="btn btn-primary" style="margin-bottom: 15px;" id="new-ticket">\
+ <i class="icon-tag icon-fixed-width"></i> New Ticket\
+ </button>\
+ <button class="btn btn-success hide" style="margin-bottom: 15px;" id="new-ticket-send">\
+ <i class="icon-arrow-right icon-fixed-width"></i> Send\
+ </button>\
+ </div>').insertBefore(".transaction-list");
+ }
+
+ window.$new_ticket.find("#new-ticket").on("click", function() {
+ $(this).addClass("hide");
+ $(window.$new_ticket).find("#new-ticket-send").removeClass("hide");
+ $('<div class="well" id="ticket-editor">\
+ <div class="form-group"><input class="form-control" type="data"\
+ placeholder="Subject" data-fieldname="subject"></div>\
+ <div class="form-group"><textarea rows=10 class="form-control" \
+ style="resize: vertical;" placeholder="Message" \
+ data-fieldname="message"></textarea></div>\
+ </div>')
+ .insertAfter(window.$new_ticket);
+ });
+
+ window.$new_ticket.find("#new-ticket-send").on("click", function() {
+ var subject = $("#ticket-editor").find('[data-fieldname="subject"]').val().trim();
+ var message = $("#ticket-editor").find('[data-fieldname="message"]').val().trim();
+ if(!(subject && message)) {
+ msgprint("Please write something in subject and message!");
+ } else {
+ frappe.call({
+ type: "POST",
+ method: "shopping_cart.templates.pages.tickets.make_new_ticket",
+ btn: this,
+ args: { subject: subject, message: message },
+ callback: function(r) {
+ if(r.exc) {
+ msgprint(r._server_messages
+ ? JSON.parse(r._server_messages).join("<br>")
+ : "Something went wrong!");
+ } else {
+ window.location.href = "ticket?name=" + encodeURIComponent(r.message);
+ }
+ }
+ })
+ }
+ });
+ });
+
+ var msgprint = function(txt) {
+ if(txt) $("#msgprint-alert").html(txt).toggle(true);
+ }
+</script>
+
+<!-- no-sidebar -->
+{% endblock %}
+