Subversion Repositories SmartDukaan

Rev

Rev 4020 | Rev 4065 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2749 vikas 1
var orderTable;
2
var cartTable;
2830 vikas 3
var userCommunicationTable;
3096 mandeep.dh 4
 
3090 mandeep.dh 5
function loadUserPane(domId, userId) {
3228 mandeep.dh 6
    $.ajax({
7
        type : "GET",
8
        url : "/crm/user-info?userId=" + userId,
9
        success : function(response) {
10
            $('#' + domId).html(response);
11
        }
12
    });
2674 vikas 13
}
14
 
3228 mandeep.dh 15
function loadOrderPane(domId, userId, orderId) {
16
    $.ajax({
17
        type : "GET",
18
        url : "/crm/user-orders?userId=" + userId,
19
        success : function(response) {
20
            $('#' + domId).html(response);
3499 mandeep.dh 21
            loadOrderInfo("bottom-infopane", orderId);
3228 mandeep.dh 22
            orderTable = $('#user-orders').dataTable({
23
                "aaSorting" : [ [ 1, 'desc' ] ],
3996 mandeep.dh 24
                "fnDrawCallback": function() { truncateText(125); },
3228 mandeep.dh 25
                "iDisplayLength" : 5,
3339 mandeep.dh 26
                "sDom" : 'T<"clear">lfrtip',
27
                "oTableTools" : {
28
                    "sSwfPath" : "swf/copy_cvs_xls_pdf.swf"
29
                },
3228 mandeep.dh 30
                "aLengthMenu" : [ [ 5, 10, 20, -1 ], [ 5, 10, 20, "All" ] ]
31
            });
32
        }
33
    });
2674 vikas 34
}
35
 
3228 mandeep.dh 36
function loadCartPane(domId, userId, cartId) {
37
    $.ajax({
38
        type : "GET",
39
        url : "/crm/user-cart?userId=" + userId + "&cartId=" + cartId,
40
        success : function(response) {
41
            $('#' + domId).html(response);
42
            cartTable = $('#user-cart').dataTable({
43
                "aaSorting" : [ [ 1, 'desc' ] ],
44
                "iDisplayLength" : 10,
3339 mandeep.dh 45
                "sDom" : 'T<"clear">lfrtip',
46
                "oTableTools" : {
47
                    "sSwfPath" : "swf/copy_cvs_xls_pdf.swf"
48
                },
3228 mandeep.dh 49
                "aLengthMenu" : [ [ 5, 10, 20, -1 ], [ 5, 10, 20, "All" ] ]
50
            });
51
        }
52
    });
2714 vikas 53
}
54
 
3228 mandeep.dh 55
function loadUserCommunicationPane(domId, userId) {
56
    $.ajax({
57
        type : "GET",
58
        url : "/crm/user-communications?userId=" + userId,
59
        success : function(response) {
60
            $('#' + domId).html(response);
61
            userCommunicationTable = $('#user-communications').dataTable({
62
                "aaSorting" : [ [ 0, 'desc' ] ],
63
                "iDisplayLength" : 5,
3339 mandeep.dh 64
                "sDom" : 'T<"clear">lfrtip',
65
                "oTableTools" : {
66
                    "sSwfPath" : "swf/copy_cvs_xls_pdf.swf"
67
                },
3228 mandeep.dh 68
                "aLengthMenu" : [ [ 5, 10, 20, -1 ], [ 5, 10, 20, "All" ] ]
69
            });
70
        }
71
    });
2830 vikas 72
}
73
 
3499 mandeep.dh 74
function loadOrderInfo(domId, orderId) {
3228 mandeep.dh 75
    $.ajax({
76
        type : "GET",
3499 mandeep.dh 77
        url : "/crm/user-order-info?orderId=" + orderId,
3228 mandeep.dh 78
        success : function(response) {
79
            $('#' + domId).html(response);
3220 mandeep.dh 80
 
3228 mandeep.dh 81
            var trId = 'order-row-' + orderId;
82
            if (orderTable != null) {
83
                for ( var index in orderTable.fnGetNodes()) {
84
                    var item = orderTable.fnGetNodes()[index];
85
                    if ($(item).attr('id') == trId) {
86
                        orderTable.fnDisplayRow(item);
87
                        break;
88
                    }
89
                }
90
            }
3220 mandeep.dh 91
 
3228 mandeep.dh 92
            $('#user-orders tr').removeClass('selected');
93
            $('#order-row-' + orderId).addClass('selected');
94
        }
95
    });
2714 vikas 96
}
97
 
3228 mandeep.dh 98
function loadLineInfo(domId, userId, itemId) {
99
    $.ajax({
100
        type : "GET",
101
        url : "/crm/user-line-info?userId=" + userId + "&itemId=" + itemId,
102
        success : function(response) {
103
            $('#' + domId).html(response);
104
            $('#user-cart tr').removeClass('selected');
105
            $('#cart-row-' + itemId).addClass('selected');
106
        }
107
    });
2830 vikas 108
}
109
 
110
function loadCommunicationInfo(domId, userId, commId) {
3228 mandeep.dh 111
    $.ajax({
112
        type : "GET",
113
        url : "/crm/user-communication-info?userId=" + userId + "&commId="
114
                + commId,
115
        success : function(response) {
116
            $('#' + domId).html(response);
117
            $('#user-cart tr').removeClass('selected');
118
            $('#cart-row-' + commId).addClass('selected');
119
        }
120
    });
3090 mandeep.dh 121
}
122
 
3228 mandeep.dh 123
function loadTicketInfo(domId, ticketId, ticketTable, activityId) {
124
    $.ajax({
125
        type : "GET",
3405 mandeep.dh 126
        url : "/crm/tickets/" + ticketId + "/edit",
3228 mandeep.dh 127
        success : function(response) {
128
            $('#' + domId).html(response);
3206 mandeep.dh 129
 
3228 mandeep.dh 130
            var trId = 'ticket-row-' + ticketId;
131
            if (ticketTable != null) {
132
                for ( var index in ticketTable.fnGetNodes()) {
133
                    var item = ticketTable.fnGetNodes()[index];
134
                    if ($(item).attr('id') == trId) {
135
                        ticketTable.fnDisplayRow(item);
136
                        break;
137
                    }
138
                }
139
            }
3206 mandeep.dh 140
 
3228 mandeep.dh 141
            $('#tickets tr').removeClass('selected');
142
            $('#' + trId).addClass('selected');
143
 
144
            // For tickets accessed from activity page
145
            if (activityId != null) {
3339 mandeep.dh 146
                $('#activity tr').removeClass('selected');
3228 mandeep.dh 147
                $('#activity-row-' + activityId).addClass('selected');
148
            }
3546 mandeep.dh 149
 
150
            $('#order-table').dataTable({
151
                "aaSorting" : [ [ 2, 'desc' ] ],
152
                "iDisplayLength" : 5,
153
                "fnDrawCallback": function() {truncateText(100);},
154
                "aLengthMenu" : [ [ 5, 10, 20, -1 ], [ 5, 10, 20, "All" ] ]
155
            });
3228 mandeep.dh 156
        }
157
    });
3090 mandeep.dh 158
}
159
 
3405 mandeep.dh 160
function createTicketDataTable(domId) {
3499 mandeep.dh 161
    var ticketsTable = $('#' + domId).dataTable({
3339 mandeep.dh 162
         "aaSorting" : [ [ 2, 'desc' ] ],
163
//         "bAutoWidth": false,
164
//         "aoColumns" : [{ "sWidth": "5%" },
3578 mandeep.dh 165
//                        { "sWidth": "20%" },
166
//                        { "sWidth": "20%" },
167
//                        { "sWidth": "12.5%" },
168
//                        { "sWidth": "12.5%" },
169
//                        { "sWidth": "10%" },
170
//                        { "sWidth": "10%" },
171
//                        { "sWidth": "10%" }],
3546 mandeep.dh 172
        "fnDrawCallback": function() {truncateText(85);},
3339 mandeep.dh 173
        "iDisplayLength" : 5,
174
        "sDom" : 'T<"clear">lfrtip',
175
        "oTableTools" : {
176
            "sSwfPath" : "swf/copy_cvs_xls_pdf.swf"
177
        },
178
        "aLengthMenu" : [ [ 5, 10, 20, -1 ], [ 5, 10, 20, "All" ] ]
179
    });
3499 mandeep.dh 180
 
181
    return ticketsTable;
3339 mandeep.dh 182
}
183
 
3422 mandeep.dh 184
function loadActivityInfo(domId, activityId) {
3228 mandeep.dh 185
    $.ajax({
186
        type : "GET",
3422 mandeep.dh 187
        url : "/crm/activity-info?activityId=" + activityId,
3228 mandeep.dh 188
        success : function(response) {
189
            $('#' + domId).html(response);
3339 mandeep.dh 190
            $('#activity tr').removeClass('selected');
3228 mandeep.dh 191
            $('#activity-row-' + activityId).addClass('selected');
3390 mandeep.dh 192
            $('#activity').css('table-layout', 'fixed');
3228 mandeep.dh 193
        }
194
    });
3090 mandeep.dh 195
}
196
 
3405 mandeep.dh 197
function createActivityDataTable(domId) {
3499 mandeep.dh 198
    var activityTable = $('#' + domId).dataTable({
3339 mandeep.dh 199
        "aaSorting" : [ [ 4, 'desc' ] ],
200
        "iDisplayLength" : 5,
201
        "sDom" : 'T<"clear">lfrtip',
3546 mandeep.dh 202
        "fnDrawCallback": function() {truncateText(95);},
3339 mandeep.dh 203
        "oTableTools" : {
204
            "sSwfPath" : "swf/copy_cvs_xls_pdf.swf"
205
        },
206
        "aLengthMenu" : [ [ 5, 10, 20, -1 ], [ 5, 10, 20, "All" ] ]
207
    });
3499 mandeep.dh 208
 
209
    return activityTable;
3339 mandeep.dh 210
}
211
 
3405 mandeep.dh 212
function loadTicketCreationForm(domId, params) {
3228 mandeep.dh 213
    $.ajax({
214
        type : "GET",
3339 mandeep.dh 215
        url : "/crm/tickets/new",
3405 mandeep.dh 216
        data : params,
3339 mandeep.dh 217
        success : function(response) {
218
            $('#' + domId).html(response);
219
        }
220
    });
221
}
222
 
3405 mandeep.dh 223
function loadActivityCreationForm(domId, params) {
3339 mandeep.dh 224
    $.ajax({
225
        type : "GET",
226
        url : "/crm/activity/new",
3405 mandeep.dh 227
        data : params,
3339 mandeep.dh 228
        success : function(response) {
229
            $('#' + domId).html(response);
230
        }
231
    });
232
}
233
 
3090 mandeep.dh 234
function updateTicket(domId, ticketId, params) {
3228 mandeep.dh 235
    $.ajax({
236
        type : "PUT",
3405 mandeep.dh 237
        url : "/crm/tickets/" + ticketId + "?" + params,
3228 mandeep.dh 238
        success : function(response) {
3339 mandeep.dh 239
            var ticketTable = $('table[id$="tickets"]');
240
            if (ticketTable.length == 1) {
241
                var rowIndex = ticketTable.dataTable().fnGetPosition($('tr#ticket-row-' + ticketId)[0]);
242
                var responseObj = jQuery(response);
3546 mandeep.dh 243
                var actionMessages = responseObj.find('#action-messages').html();
3339 mandeep.dh 244
                responseObj.find('#ticket-row-' + ticketId).children().each(
245
                        function(i, item) {
246
                            var th = responseObj.find('th').eq(i);
247
                            if (th.text() == "Ticket Id") {
248
                                return;
249
                            }
250
 
251
                            var thOld = ticketTable.find('th').filter(
252
                                    function(index) {
253
                                        if ($(this).text() == th.text()) {
254
                                            return true;
255
                                        }
256
 
257
                                        return false;
258
                                    });
259
 
260
                            if (thOld != null) {
261
                                ticketTable.dataTable().fnUpdate($(item).text(), rowIndex, $(thOld).index(), true, false);
262
                            }
263
                        });
264
 
3546 mandeep.dh 265
                loadTicketInfo("bottom-infopane", ticketId, ticketTable.dataTable(), null);
3339 mandeep.dh 266
                ticketTable.css('table-layout', 'fixed');
3546 mandeep.dh 267
 
268
                var alertString = jQuery.trim(actionMessages);
269
                if (alertString != '') {
270
                    alert(alertString);
271
                }
3339 mandeep.dh 272
            }
273
            else {
274
                loadTicketInfo("bottom-infopane", ticketId, null, null);
275
            }
276
 
3499 mandeep.dh 277
            truncateText(85);
3339 mandeep.dh 278
        }
279
    });
280
}
281
 
3090 mandeep.dh 282
function createTicket(domId, params) {
3228 mandeep.dh 283
    $.ajax({
284
        type : "POST",
3339 mandeep.dh 285
        url : "/crm/tickets",
3228 mandeep.dh 286
        data : params,
287
        success : function(response) {
288
            $('#' + domId).html(response);
3405 mandeep.dh 289
            var ticketTable = createTicketDataTable('tickets');
3228 mandeep.dh 290
        }
291
    });
3090 mandeep.dh 292
}
293
 
294
function createActivity(domId, params) {
3228 mandeep.dh 295
    $.ajax({
296
        type : "POST",
3339 mandeep.dh 297
        url : "/crm/activity",
3228 mandeep.dh 298
        data : params,
299
        success : function(response) {
300
            $('#' + domId).html(response);
3405 mandeep.dh 301
            var activityTable = createActivityDataTable('activity');
3228 mandeep.dh 302
        }
303
    });
3106 mandeep.dh 304
}
305
 
306
function goToHomePage() {
3228 mandeep.dh 307
    document.location.href = "/crm";
3106 mandeep.dh 308
}
309
 
3422 mandeep.dh 310
function loadTickets(domId, getURL, ticketId) {
3228 mandeep.dh 311
    $.ajax({
312
        type : "GET",
3234 mandeep.dh 313
        url : getURL,
3228 mandeep.dh 314
        success : function(response) {
315
            $('#' + domId).html(response);
3405 mandeep.dh 316
            var ticketTable = createTicketDataTable('tickets');
3422 mandeep.dh 317
            if (ticketId != null) {
318
                loadTicketInfo("bottom-infopane", ticketId, ticketTable.dataTable(), null);
319
                ticketTable.css('table-layout', 'fixed');
320
            }
3228 mandeep.dh 321
        }
322
    });
3106 mandeep.dh 323
}
3137 mandeep.dh 324
 
3422 mandeep.dh 325
function processActivityTypeChange(activityType) {
3269 mandeep.dh 326
    if (activityType == "SEND_EMAIL_TO_CUSTOMER") {
3228 mandeep.dh 327
        $.colorbox({
328
            inline : true,
3519 mandeep.dh 329
            width : "775px",
330
            height : "445px",
3228 mandeep.dh 331
            href : "div#mail-div",
332
            onClosed : function() {
3519 mandeep.dh 333
				CKEDITOR.instances['mail-body'].destroy(false);
3228 mandeep.dh 334
                $("div#mail-div").hide();
335
                $('select#activity-type').val('OTHER');
336
            }
337
        });
3206 mandeep.dh 338
 
3228 mandeep.dh 339
        $("div#mail-div").show();
3701 mandeep.dh 340
        $('#mail-body').ckeditor({toolbar : 'Basic', scayt_autoStartup : true});
3228 mandeep.dh 341
    }
4020 mandeep.dh 342
    else if (activityType == "ESCALATE_TICKET") {
343
        $.colorbox({
344
            inline : true,
345
            width : "675px",
4027 mandeep.dh 346
            height : "560px",
4020 mandeep.dh 347
            href : "div#escalation-div",
348
            onClosed : function() {
349
                CKEDITOR.instances['escalation-mail-body'].destroy(false);
350
                $("div#escalation-div").hide();
351
                $('select#activity-type').val('OTHER');
352
            }
353
        });
354
 
355
        $("div#escalation-div").show();
356
        $('#escalation-mail-body').ckeditor({toolbar : 'Basic', scayt_autoStartup : true});
357
    }
3206 mandeep.dh 358
}
359
 
360
function processInputFormSubmit() {
3228 mandeep.dh 361
    $.ajax({
362
        type : "POST",
363
        url : "/crm/",
364
        success : function(response) {
365
            $.html(response);
3405 mandeep.dh 366
            var ticketTable = createTicketDataTable('tickets');
3228 mandeep.dh 367
        }
368
    });
3339 mandeep.dh 369
}
370
 
371
function listActivities(domId, params) {
372
    $.ajax({
373
        type : "GET",
374
        url : "/crm/activity",
375
        data : params,
376
        success : function(response) {
377
            $('#' + domId).html(response);
3405 mandeep.dh 378
            var activityTable = createActivityDataTable('activity');
3339 mandeep.dh 379
        }
380
    });
381
}
382
 
383
function truncateText(widthSize) {
384
    $(".truncated-text").truncate({
385
        width : widthSize,
386
        addtitle : true
387
    });
388
}
3390 mandeep.dh 389
 
390
function markAsRead(activityId) {
391
    $.ajax({
392
        type : "POST",
393
        url : "/crm/activity!markAsRead?activityId=" + activityId,
394
        success: function(response) {
395
            listActivities('infopane', "creatorId=1");
396
        }
397
    });
398
}
3397 mandeep.dh 399
 
400
function loadAdvancedSearchBox() {
401
    $.colorbox({
402
        inline : true,
403
        width : "535px",
404
        height : "465px",
405
        href : "form#search",
406
        onClosed : function() {
407
            $("form#search").hide();
408
        }
409
    });
410
 
411
    $("form#search").show();
412
}
413
 
414
function processSearchEntityChange(searchEntity) {
415
    if (searchEntity == "Tickets") {
416
        $("#assignee").show();
417
        $("#creator").hide();
418
    }
419
    else if (searchEntity == "Activities") {
420
        $("#assignee").hide();
421
        $("#creator").show();
422
    }
423
}
3499 mandeep.dh 424
 
425
function increaseTrustLevel(domId, userId, trustLevelDelta) {
426
    $.ajax({
427
        type : "PUT",
428
        url : "/crm/user-info/" + userId + "?trustLevelDelta=" + trustLevelDelta,
429
        success : function(response) {
430
            $('#' + domId).html(response);
431
        }
432
    });
433
}
434
 
3546 mandeep.dh 435
function updateOrderStatus(domId, ticketId, orderId, orderStatus) {
3499 mandeep.dh 436
    $.ajax({
3546 mandeep.dh 437
        type : "POST",
438
        url : "/crm/tickets!updateOrderStatus?id=" + ticketId + "&orderId=" + orderId + "&orderStatus=" + orderStatus,
3499 mandeep.dh 439
        success : function(response) {
3546 mandeep.dh 440
            $('#' + domId).html(response);
3499 mandeep.dh 441
        }
442
    });
3711 mandeep.dh 443
}
444
 
445
function loadUnreadActivities(domId) {
446
    $.ajax({
447
        type : "GET",
448
        url : "/crm/activity!getUnreadActivities",
449
        success : function(response) {
450
            $('#' + domId).html(response);
451
            var activityTable = createActivityDataTable('activity');
452
        }
453
    });
454
}