Subversion Repositories SmartDukaan

Rev

Rev 3339 | Rev 3397 | 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);
21
            loadOrderInfo("bottom-infopane", userId, orderId);
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
 
3228 mandeep.dh 73
function loadOrderInfo(domId, userId, orderId) {
74
    $.ajax({
75
        type : "GET",
76
        url : "/crm/user-order-info?userId=" + userId + "&orderId=" + orderId,
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",
125
        url : "/crm/user-tickets/" + ticketId + "/edit",
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
            $('#user-tickets tr').removeClass('selected');
141
            $('#tickets tr').removeClass('selected');
142
            $('#' + trId).addClass('selected');
143
 
144
            // For tickets accessed from activity page
145
            if (activityId != null) {
146
                $('#user-activity tr').removeClass('selected');
3339 mandeep.dh 147
                $('#activity tr').removeClass('selected');
3228 mandeep.dh 148
                $('#activity-row-' + activityId).addClass('selected');
149
            }
150
        }
151
    });
3090 mandeep.dh 152
}
153
 
3096 mandeep.dh 154
function loadTicketPane(domId, userId, ticketId) {
3228 mandeep.dh 155
    $.ajax({
156
        type : "GET",
157
        url : "/crm/user-tickets?userId=" + userId,
158
        success : function(response) {
159
            $('#' + domId).html(response);
3339 mandeep.dh 160
            var ticketTable = createUserTicketDataTable('user-tickets');
3228 mandeep.dh 161
            if (ticketId) {
162
                loadTicketInfo("bottom-infopane", ticketId, ticketTable, null);
163
            }
164
        }
165
    });
3090 mandeep.dh 166
}
167
 
3339 mandeep.dh 168
function createUserTicketDataTable(domId) {
169
    return $('#' + domId).dataTable({
170
         "aaSorting" : [ [ 2, 'desc' ] ],
171
//         "bAutoWidth": false,
172
//         "aoColumns" : [{ "sWidth": "5%" },
173
//                        { "sWidth": "25%" },
174
//                        { "sWidth": "5%" },
175
//                        { "sWidth": "5%" },
176
//                        { "sWidth": "5%" },
177
//                        { "sWidth": "5%" },
178
//                        { "sWidth": "5%" },
179
//                        { "sWidth": "5%" }],
180
        "iDisplayLength" : 5,
181
        "sDom" : 'T<"clear">lfrtip',
182
        "oTableTools" : {
183
            "sSwfPath" : "swf/copy_cvs_xls_pdf.swf"
184
        },
185
        "aLengthMenu" : [ [ 5, 10, 20, -1 ], [ 5, 10, 20, "All" ] ]
186
    });
187
}
188
 
3090 mandeep.dh 189
function loadActivityInfo(domId, userId, activityId) {
3228 mandeep.dh 190
    $.ajax({
191
        type : "GET",
192
        url : "/crm/user-activity-info?userId=" + userId + "&activityId="
193
                + activityId,
194
        success : function(response) {
195
            $('#' + domId).html(response);
196
            $('#user-activity tr').removeClass('selected');
3339 mandeep.dh 197
            $('#activity tr').removeClass('selected');
3228 mandeep.dh 198
            $('#activity-row-' + activityId).addClass('selected');
3390 mandeep.dh 199
            $('#user-activity').css('table-layout', 'fixed');
200
            $('#activity').css('table-layout', 'fixed');
3228 mandeep.dh 201
        }
202
    });
3090 mandeep.dh 203
}
204
 
205
function loadActivityPane(domId, userId) {
3228 mandeep.dh 206
    $.ajax({
207
        type : "GET",
208
        url : "/crm/user-activity?userId=" + userId,
209
        success : function(response) {
210
            $('#' + domId).html(response);
3339 mandeep.dh 211
            var activityTable = createUserActivityDataTable('user-activity');
3228 mandeep.dh 212
        }
213
    });
3090 mandeep.dh 214
}
215
 
3339 mandeep.dh 216
function createUserActivityDataTable(domId) {
217
    return $('#' + domId).dataTable({
218
        "aaSorting" : [ [ 4, 'desc' ] ],
219
        "iDisplayLength" : 5,
220
        "sDom" : 'T<"clear">lfrtip',
221
        "oTableTools" : {
222
            "sSwfPath" : "swf/copy_cvs_xls_pdf.swf"
223
        },
224
        "aLengthMenu" : [ [ 5, 10, 20, -1 ], [ 5, 10, 20, "All" ] ]
225
    });
226
}
227
 
228
function loadUserTicketCreationForm(domId, userId) {
3228 mandeep.dh 229
    $.ajax({
230
        type : "GET",
231
        url : "/crm/user-tickets/new?userId=" + userId,
232
        success : function(response) {
233
            $('#' + domId).html(response);
234
        }
235
    });
3090 mandeep.dh 236
}
237
 
3339 mandeep.dh 238
function loadUserActivityCreationForm(domId, userId) {
3228 mandeep.dh 239
    $.ajax({
240
        type : "GET",
241
        url : "/crm/user-activity/new?userId=" + userId,
242
        success : function(response) {
243
            $('#' + domId).html(response);
244
        }
245
    });
3090 mandeep.dh 246
}
247
 
3339 mandeep.dh 248
function loadTicketCreationForm(domId) {
249
    $.ajax({
250
        type : "GET",
251
        url : "/crm/tickets/new",
252
        success : function(response) {
253
            $('#' + domId).html(response);
254
        }
255
    });
256
}
257
 
258
function loadActivityCreationForm(domId) {
259
    $.ajax({
260
        type : "GET",
261
        url : "/crm/activity/new",
262
        success : function(response) {
263
            $('#' + domId).html(response);
264
        }
265
    });
266
}
267
 
3090 mandeep.dh 268
function updateTicket(domId, ticketId, params) {
3228 mandeep.dh 269
    $.ajax({
270
        type : "PUT",
271
        url : "/crm/user-tickets/" + ticketId + "?" + params,
272
        success : function(response) {
3339 mandeep.dh 273
            var ticketTable = $('table[id$="tickets"]');
274
            if (ticketTable.length == 1) {
275
                var rowIndex = ticketTable.dataTable().fnGetPosition($('tr#ticket-row-' + ticketId)[0]);
276
                var responseObj = jQuery(response);
277
                responseObj.find('#ticket-row-' + ticketId).children().each(
278
                        function(i, item) {
279
                            var th = responseObj.find('th').eq(i);
280
                            if (th.text() == "Ticket Id") {
281
                                return;
282
                            }
283
 
284
                            var thOld = ticketTable.find('th').filter(
285
                                    function(index) {
286
                                        if ($(this).text() == th.text()) {
287
                                            return true;
288
                                        }
289
 
290
                                        return false;
291
                                    });
292
 
293
                            if (thOld != null) {
294
                                ticketTable.dataTable().fnUpdate($(item).text(), rowIndex, $(thOld).index(), true, false);
295
                            }
296
                        });
297
 
298
                loadTicketInfo("bottom-infopane", ticketId, ticketTable
299
                        .dataTable(), null);
300
                ticketTable.css('table-layout', 'fixed');
301
            }
302
            else {
303
                loadTicketInfo("bottom-infopane", ticketId, null, null);
304
            }
305
 
306
            truncateText(70);
307
        }
308
    });
309
}
310
 
311
function createUserTicket(domId, params) {
312
    $.ajax({
313
        type : "POST",
314
        url : "/crm/user-tickets",
315
        data : params,
316
        success : function(response) {
3228 mandeep.dh 317
            $('#' + domId).html(response);
3339 mandeep.dh 318
            var ticketTable = createUserTicketDataTable('user-tickets');
3228 mandeep.dh 319
        }
320
    });
3090 mandeep.dh 321
}
322
 
3339 mandeep.dh 323
function createUserActivity(domId, params) {
324
    $.ajax({
325
        type : "POST",
326
        url : "/crm/user-activity",
327
        data : params,
328
        success : function(response) {
329
            $('#' + domId).html(response);
330
            var activityTable = createUserActivityDataTable('user-activity');
331
        }
332
    });
333
}
334
 
3090 mandeep.dh 335
function createTicket(domId, params) {
3228 mandeep.dh 336
    $.ajax({
337
        type : "POST",
3339 mandeep.dh 338
        url : "/crm/tickets",
3228 mandeep.dh 339
        data : params,
340
        success : function(response) {
341
            $('#' + domId).html(response);
3339 mandeep.dh 342
            var ticketTable = createUserTicketDataTable('tickets');
3228 mandeep.dh 343
        }
344
    });
3090 mandeep.dh 345
}
346
 
347
function createActivity(domId, params) {
3228 mandeep.dh 348
    $.ajax({
349
        type : "POST",
3339 mandeep.dh 350
        url : "/crm/activity",
3228 mandeep.dh 351
        data : params,
352
        success : function(response) {
353
            $('#' + domId).html(response);
3339 mandeep.dh 354
            var activityTable = createUserActivityDataTable('activity');
3228 mandeep.dh 355
        }
356
    });
3106 mandeep.dh 357
}
358
 
359
function goToHomePage() {
3228 mandeep.dh 360
    document.location.href = "/crm";
3106 mandeep.dh 361
}
362
 
3234 mandeep.dh 363
function loadTickets(domId, getURL) {
3228 mandeep.dh 364
    $.ajax({
365
        type : "GET",
3234 mandeep.dh 366
        url : getURL,
3228 mandeep.dh 367
        success : function(response) {
368
            $('#' + domId).html(response);
3339 mandeep.dh 369
            var ticketTable = createUserTicketDataTable('tickets');
3228 mandeep.dh 370
        }
371
    });
3106 mandeep.dh 372
}
3137 mandeep.dh 373
 
3206 mandeep.dh 374
function processActivityTypeChange(userId, activityType) {
3269 mandeep.dh 375
    if (activityType == "SEND_EMAIL_TO_CUSTOMER") {
3228 mandeep.dh 376
        $.colorbox({
377
            inline : true,
378
            width : "735px",
379
            height : "365px",
380
            href : "div#mail-div",
381
            onClosed : function() {
382
                $("div#mail-div").hide();
383
                $('select#activity-type').val('OTHER');
384
            }
385
        });
3206 mandeep.dh 386
 
3228 mandeep.dh 387
        $("div#mail-div").show();
388
    }
3206 mandeep.dh 389
}
390
 
391
function processInputFormSubmit() {
3228 mandeep.dh 392
    $.ajax({
393
        type : "POST",
394
        url : "/crm/",
395
        success : function(response) {
396
            $.html(response);
3339 mandeep.dh 397
            var ticketTable = createUserTicketDataTable('tickets');
3228 mandeep.dh 398
        }
399
    });
3339 mandeep.dh 400
}
401
 
402
function listActivities(domId, params) {
403
    $.ajax({
404
        type : "GET",
405
        url : "/crm/activity",
406
        data : params,
407
        success : function(response) {
408
            $('#' + domId).html(response);
409
            var activityTable = createUserActivityDataTable('activity');
410
        }
411
    });
412
}
413
 
414
function truncateText(widthSize) {
415
    $(".truncated-text").truncate({
416
        width : widthSize,
417
        addtitle : true
418
    });
419
}
3390 mandeep.dh 420
 
421
function markAsRead(activityId) {
422
    $.ajax({
423
        type : "POST",
424
        url : "/crm/activity!markAsRead?activityId=" + activityId,
425
        success: function(response) {
426
            listActivities('infopane', "creatorId=1");
427
        }
428
    });
429
}