Subversion Repositories SmartDukaan

Rev

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