Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
24417 govind 1
<script>
35606 amit 2
    $(document).ready(function () {
3
        // Cleanup for myModal (activity/message modal)
4
        $('#myModal').on('hidden.bs.modal', function (e) {
5
            $(".activity-container .modal-body").empty();
6
        });
35602 amit 7
 
35606 amit 8
        // Cleanup for theModal (edit/assign ticket modal)
9
        $('#theModal').on('hidden.bs.modal', function (e) {
10
            $("#theModal .modal-content").empty();
35602 amit 11
            $('body').removeClass('modal-open');
12
            $('.modal-backdrop').remove();
35606 amit 13
        });
35602 amit 14
 
35606 amit 15
        // Ensure backdrop is removed on any modal close
16
        $(document).on('hidden.bs.modal', '.modal', function () {
17
            if ($('.modal:visible').length === 0) {
18
                $('body').removeClass('modal-open');
19
                $('.modal-backdrop').remove();
20
            }
21
        });
22
 
35592 amit 23
        getPartnerAheadOptions($("#typeaheadpartnernameforassignee"), function (selectedPartner) {
24
            $("#assignee-ticket-search-by-partner-name").data('id', selectedPartner.partnerId);
25
            $("#assignee-partner-name-input").val(selectedPartner.partnerId);
26
        });
31762 tejbeer 27
 
35592 amit 28
        $('#ticket-table thead tr').clone(true).appendTo('#ticket-table thead');
31762 tejbeer 29
        $('#ticket-table thead tr:eq(1) th').each(function (i) {
30
            var title = $(this).text();
31
            $(this).html('<input type="text" style = "width:60%;" placeholder="Search ' + title + '" />');
32
 
33
            $('input', this).on('keyup change', function () {
34
                if (table.column(i).search() !== this.value) {
35
                    table
36
                            .column(i)
37
                            .search(this.value)
38
                            .draw();
39
                }
40
            });
41
        })
42
 
35592 amit 43
        var table = $('#ticket-table').DataTable({
31762 tejbeer 44
            orderCellsTop: true,
45
            fixedHeader: true
46
        })
35592 amit 47
 
48
    });
24417 govind 49
</script>
35571 amit 50
#parse("activity-modal-styles.vm")
24417 govind 51
<section class="wrapper">
35592 amit 52
    <div class="row">
53
        <div class="col-lg-12">
54
            <h3 class="page-header"><i class="icon_document_alt"></i>TICKET</h3>
55
            <ol class="breadcrumb">
56
                <li><i class="fa fa-home"></i><a href="${rc.contextPath}/dashboard">Home</a></li>
57
                <li><i class="icon_document_alt"></i>My Ticket</li>
58
            </ol>
59
        </div>
60
    </div>
61
    <div class="row">
62
        <div class="col-lg-2 form-group">
63
            <select class="form-control input-sm" id="ticketStatus" name="ticketStatus" placeholder="Type">
64
                #foreach($ticketStatus in $ticketStatusValues)
65
                    #if($ticketStatus=="RESOLVED")
66
                        #if($roleType)
67
                            #if($selectedticketStatus==$ticketStatus)
68
                                <option value="$ticketStatus" selected>$ticketStatus</option>
69
                            #else
70
                                <option value="$ticketStatus">$ticketStatus</option>
71
                            #end
72
                        #end
73
                    #else
74
                        #if($selectedticketStatus==$ticketStatus)
75
                            <option value="$ticketStatus" selected>$ticketStatus</option>
76
                        #else
77
                            <option value="$ticketStatus">$ticketStatus</option>
78
                        #end
79
                    #end
80
                #end
81
            </select>
82
        </div>
83
        <div class="col-lg-2 form-group">
84
            <select class="form-control input-sm" id="orderBy" name="orderBy" placeholder="Type">
85
                #foreach($orderby in $orderByValues)
86
                    #if($orderby=="UNSORTED")
87
                    #else
88
                        #if($selectedorderby==$orderby)
89
                            #if($orderby=="ASCENDING")
90
                                <option value="$orderby" selected>OLD TO NEW</option>
91
                            #else
92
                                <option value="$orderby" selected>NEW TO OLD</option>
93
                            #end
94
                        #else
95
                            #if($orderby=="ASCENDING")
96
                                <option value="$orderby">OLD TO NEW</option>
97
                            #else
98
                                <option value="$orderby">NEW TO OLD</option>
99
                            #end
100
                        #end
101
                    #end
102
                #end
103
            </select>
104
        </div>
105
        #if($roleType)
106
        <div class="col-lg-6 form-group pull-right">
107
            <div class="col-lg-6">
108
                <select class="form-control" id="assigneesearchType" name="assigneesearchType"
109
                        placeholder="Search Type">
110
                    <option value="" disabled selected>Search Type</option>
111
                    #foreach($searchType1 in $ticketSearchTypes)
112
                        #if($ticketSearchType.getValue()==$searchType1.getValue())
113
                            <option value="$searchType1" selected>$ticketSearchType.getValue()</option>
114
                        #else
115
                            <option value="$searchType1">$searchType1.getValue()</option>
116
                        #end
117
                    #end
118
                </select>
119
            </div>
120
 
121
 
122
            <div class="col-lg-6">
123
                <input type="hidden" id="assignee-partner-name-input" name="assignee-partner-name-input" value="">
124
                <div class="assigneebyPartnerName" style="display: none;">
125
                    <div class="input-group">
126
                        <input placeholder="Partner Name" type="text" class="typeahead form-control"
127
                               id="typeaheadpartnernameforassignee" value="" name="Item" data-provide="typeahead"
128
                               autocomplete="off">
129
                        <span class="input-group-btn">
130
	      			<button class="btn btn-primary" id="assignee-ticket-search-by-partner-name" type="button"
131
                            data-id="">Go!</button>
24787 govind 132
	    		</span>
35592 amit 133
                    </div>
134
                </div>
135
                <div class="assigneebyTicketId" style="display: none;">
136
                    <div class="input-group">
137
                        <input placeholder="Ticket Id" type="text" class="form-control" id="assignee-search-by-ticketId"
138
                               value="">
139
                        <span class="input-group-btn">
140
	      			<button class="btn btn-primary" id="assignee-retailer-details-search-button-by-ticketId"
141
                            type="button">Go!</button>
24787 govind 142
	    		</span>
35592 amit 143
                    </div>
144
                </div>
145
            </div>
146
        #end
24417 govind 147
    </div>
35592 amit 148
    </div>
149
    <div id="my-ticket-table">
150
        <div class="row">
151
            <div class="col-lg-12">
152
                <table class="table table-border table-condensed table-bordered" id="ticket-table">
153
                    <thead>
154
                    <tr>
155
                        <th>Ticket Id</th>
156
                        #if($roleType)
157
                            <th>Partner</th>
158
                        #end
159
                        <th>Category</th>
160
                        <th>SubCategory</th>
161
                        <th>Message</th>
162
                        <th>Created By</th>
163
                        <th>Created TimeStamp</th>
35594 amit 164
                        #if($isCrmUser)
165
                            <th>Assign</th>
166
                        #end
35592 amit 167
                        #if($roleType)
168
                            <th>Action</th>
169
                        #else
170
                            <th>Action</th>
171
                        #end
172
                    </tr>
173
                    </thead>
174
                    <tbody>
175
                        #if($tickets.size()>0)
176
                            #foreach($ticket in $tickets)
177
                            <tr>
178
                                <td>$ticket.getId()</td>
179
                                #if($roleType)
35594 amit 180
                                    <td><a href="#" class="partner-link" data-fofoid="$ticket.getFofoId()">$fofoIdsAndCustomRetailer.get($ticket.getFofoId()).getBusinessName()</a></td>
35592 amit 181
                                #end
182
                                <td>$subCategoryIdAndCategoryMap.get($ticket.getSubCategoryId()).getName()</td>
31762 tejbeer 183
 
35592 amit 184
                                <td><a href="#" data-toggle="modal" data-target="#myModal"
185
                                       data-ticketid="$ticket.getId()" data-internal="true" data-role="$roleType"
186
                                       data-crm="$isCrmUser" class="activities-link"
187
                                       data-assignee="#if($authUserIdAndAuthUserMap.get($ticket.getId()))$authUserIdAndAuthUserMap.get($ticket.getId()).getFirstName()#end">$subCategoryIdAndSubCategoryMap.get($ticket.getSubCategoryId()).getName()</a>
188
                                </td>
189
                                <td>#if($activityMap.get($ticket.getId()) && $activityMap.get($ticket.getId()).size() > 0)$activityMap.get($ticket.getId()).get(0).getMessage()#else
190
                                    -#end</td>
191
                                #if($activityMapWithActivityId.get($ticket.getFirstActivityId()).get(0).getCreatedBy() > 0)
192
                                    <td>$authUserMap.get($activityMapWithActivityId.get($ticket.getFirstActivityId()).get(0).getCreatedBy()).getFirstName() $authUserMap.get($activityMapWithActivityId.get($ticket.getFirstActivityId()).get(0).getCreatedBy()).getLastName()</td>
193
                                #else
194
                                    <td>Partner</td>
195
                                #end
196
 
197
                                <td>$ticket.getFormattedCreateTimestamp()</td>
35594 amit 198
                                #if($isCrmUser)
199
                                    #if($ticket.getCloseTimestamp())
200
                                        <td><button class="btn btn-primary edit-ticket" data-ticketid1="$ticket.getId()" disabled>Edit</button></td>
201
                                    #else
202
                                        <td><button class="btn btn-primary edit-ticket" data-ticketid1="$ticket.getId()">Edit</button></td>
203
                                    #end
204
                                #end
35592 amit 205
                                #if($roleType)
206
                                    #if($ticket.getCloseTimestamp())
207
                                        <td>$ticket.getFormattedCloseTimestamp()</td>
208
                                    #else
209
                                        #if($ticket.getLastActivity()=="RESOLVED")
210
                                            <td>Resolved</td>
211
                                        #else
35603 amit 212
                                            ## CRM users can resolve any ticket
213
                                            ## Sales users can resolve their own Sales category tickets
214
                                            ## RBM users can resolve their own RBM category tickets
215
                                            #set($ticketCategoryId = $subCategoryIdAndCategoryMap.get($ticket.getSubCategoryId()).getId())
216
                                            #set($canResolve = $isCrmUser || ($isSalesUser && $ticketCategoryId == $salesCategoryId) || ($isRbmUser && $ticketCategoryId == $rbmCategoryId))
217
                                            #if($canResolve)
35592 amit 218
                                                <td>
219
                                                    <button class="btn btn-primary ticket-last-activity"
35594 amit 220
                                                            data-ticketid="$ticket.getId()" data-activity="$resolved"
221
                                                            data-partnername="$fofoIdsAndCustomRetailer.get($ticket.getFofoId()).getBusinessName()">
35592 amit 222
                                                        Resolved
223
                                                    </button>
224
                                                </td>
225
                                            #else
226
                                                <td><span class="label label-warning">Pending Resolution</span></td>
227
                                            #end
228
                                        #end
229
                                    #end
230
                                #else
231
                                    #if($ticket.getCloseTimestamp())
232
                                        <td>Closed</td>
233
                                    #else
234
                                        #if($ticket.getLastActivity()=="RESOLVED")
235
                                            <td>
236
                                                <button class="btn btn-primary ticket-last-activity"
237
                                                        data-ticketid="$ticket.getId()"
238
                                                        data-activity="$resolved-accepted">Accept
239
                                                </button>
240
                                                <button class="btn btn-danger ticket-last-activity"
241
                                                        data-ticketid="$ticket.getId()"
242
                                                        data-activity="$resolved-rejected">Reopen
243
                                                </button>
244
                                            </td>
245
                                        #else
246
                                            <td><span class="label label-info">In Progress</span></td>
247
                                        #end
248
                                    #end
249
                                #end
250
                            </tr>
251
                            #end
252
                        #else
253
                        <tr>
254
                            <td colspan="12" style="text-align:center;">NO MATCHING DATA FOUND FOR CRITERIA</td>
255
                        </tr>
256
                        #end
257
                    </tbody>
258
                </table>
259
            </div>
260
        </div>
261
    </div>
262
 
263
</section>
24417 govind 264
<div id="ticket-details-container" style="background:white;background-color:white;">
265
</div>
35571 amit 266
#set($showFileUpload = true)
267
#parse("activity-modal.vm")
35594 amit 268
 
269
## Edit ticket modal for CRM users to assign tickets
270
#if($isCrmUser)
271
<div class="edit-container">
35602 amit 272
    <div class="modal fade text-center" id="theModal" tabindex="-1" role="dialog" data-backdrop="true" data-keyboard="true">
273
        <div class="modal-dialog" role="document">
35594 amit 274
            <div class="modal-content">
275
            </div>
276
        </div>
277
    </div>
278
</div>
279
#end